タグ

C++に関するkosakiのブックマーク (28)

  • C++の話(本当にあった怖い話)

    The document discusses C++ and its history and features. It describes C++ as an extension of C with object-oriented features like classes. It provides information on the creator of C++, Bjarne Stroustrup, and the evolution of C++ since its introduction as a way to add object-oriented programming to C. It also includes sample C++ code demonstrating the use of arrays and includes from the Boost libr

    C++の話(本当にあった怖い話)
    kosaki
    kosaki 2010/07/15
  • Linus氏のC++に対する最近の否定的見解 | taro-nishinoの日記 | スラド

    最近、Linus氏はまたしてもReal World TechnologiesのModerated DiscussionsフォーラムでC++に対する否定的見解を投稿したことは皆さんも御存知でしょう。主要な投稿は以下の5つです。 http://www.realworldtech.com/forums/index.cfm?action=detail&id=110563&threadid=110549&roomid=2 http://www.realworldtech.com/forums/index.cfm?action=detail&id=110577&threadid=110549&roomid=2 http://www.realworldtech.com/forums/index.cfm?action=detail&id=110618&threadid=110549&roomid=2 ht

  • Variadicとは何ぞや

    C++0xには、Variadic templatesなるものが存在する。あえて訳すとしたら、可変テンプレートか、可変引数テンプレートあたりだろう。 この引数には、仮引数や実引数のような、厳密な区別はいらないだろう。 しかし、Variadicという単語は、どこから来たのだろう。意味は分かる。variableから来ているに違いない。意味はわかるが、念のため、辞書で確認しておこう。 載っていない。辞書に載っていないとはどういう事だろう。variadicは、プログラミングでは、非常に有名な言葉だ。これが載っていないとは解せない。 -icというのは、ofとかlikeという意味の接尾語である。日語にも、~的という都合のいい接尾語がある。では、dはどこから来たのか。単に発音上の都合なのだろうか。 さっぱり分からなかったので、ネイティブに聞いた。どうやら、variable + -ad + -ic らしい

  • C++0x基礎文法最速マスター - Faith and Brave - C++で遊ぼう

    C++0xになると、C++03でごちゃごちゃした部分がだいぶ すっきり書けるようになるので、C++0xでの入門はこんな感じになるよー、 という気持ちで書きました。 1. Hello World C++0xでの入出力には、IOStreamというものを使用します。 <<演算子でどんどんつないでいきます。 以下のプログラムの読み方は 「標準出力(cout)に"Hello World"という文字列と、改行(endl)を出力する」 です。 #include <iostream> int main() { std::cout << "Hello World" << std::endl; return 0; } Hello World coutとendlを使用するには、 #include <iostream> のように、という標準ライブラリのファイルを読み込む必要があります。 2. コメント 行コメント

    C++0x基礎文法最速マスター - Faith and Brave - C++で遊ぼう
  • 次期C++に導入されるメモリバリアについて解説してみる - yamasaのネタ帳

    前のエントリで次期C++標準(通称C++0x)にatomic型とメモリバリアが導入されるという話をしました。今回はそのC++での実装について、もう少し深く追いかけてみます。 スライド資料では「atomic操作 + acquire/releaseバリア」が基であると書きましたが、実際に次期C++に導入される予定のatomic APIは、もう少し複雑な仕様になっています。一番の違いは、メモリバリアの種類が増えていることです。 次期C++標準の現在のドラフトでは、メモリバリアの種類を表すenum型の定義は以下のようになっています。 namespace std { typedef enum memory_order { memory_order_relaxed, memory_order_consume, memory_order_acquire, memory_order_release, m

    次期C++に導入されるメモリバリアについて解説してみる - yamasaのネタ帳
  • 本の虫: C++0xの新機能のリスト

    どうやら、C++0xのを執筆することになった。 ふと思えば、今まで一度も、C++0xの新機能がどのくらいあるのかということを考えたことがなかった。規格の変更は、もちろん大量にあるのだが、その中で、特に知っておくべき変更や追加というのは、どのくらいあるのか。整理するために、リストアップしてみた。このリストに載っていない機能や、既存の規格に対する変更で、特にユーザーも知っておくべきものがあれば、知らせて欲しい。 C++0xはまだドラフト段階だが、確実にこれは大きく変わらないだろうという機能は、かなりある。逆に、これはちょっとまだ分からないという機能もある。 言語機能 Rvalue Reference auto delctype static_assert Template Aliases extern template Variadic Templates Initializer lists

  • はじめてのにき(2009-12-13)

    _ LRUMap だいたいわかった! でまぁ list が必要かという話で slist じゃダメなのだろうかと kinaba さんに聞いたら大丈夫じゃねとの返答のすぐ後に やっぱダメじゃねとのこと。 後ろ向きのリンクが無いと古いヤツ使った時に 移動が O(1) でできないからねー。 じゃあどうするかなーと考えたのは、 slist アップデート時は前向きポインタに |1 した値を入れておく だからリンクをたどる時は必ず下位 1 bit は落とす でまぁ同じ要素を指すものを末尾にもつける 古いヤツを回収してる最中に (next&1)==1 な要素を見つけたら、その要素は消さないで次を消す とか。 新しい要素が追加されずに 同じ要素が参照されまくったりするとたくさんメモリを使ってしまうので、 たまに O(N) の GC を走らせるといいかもしれない。 なんかもっと賢くやって欲しいよなー (12:

  • BoostのMPLへのいざない part 1

    不幸にも(幸いにも?)私はプログラマにならない道を進むわけだけれど、私がC++を学んだ証を残しておきたいと思った。趣味としてのプログラミングは、まあ恵まれている。自分が好きなように書いていいのだから。 世に、Boostなる一群のライブラリがある。中でもMPLは極めてすばらしいのだが、広く世間一般に知られていない。思うに、これはきっかけがないからなのだろう。第一、日語の文献もほとんど存在しない。ここはひとつ、チュートリアルのようなものを書いてみるべきか。 ここにすばらしいがある。C++ Templatesと、C++ Template Metaprogrammingである。前者はC++のテンプレート全般について、深く解説しているで、後者は、Boost、とくにMPLに対するだ。http://www.boost.org/libs/mpl/doc/index.htmlで、その重要な導入部分を

  • BoostのMPLへのいざない part 2

    Boostのチュートリアルでは、STLのiter_swapを実装しているけれど、同じにするのでは能がない。ここでは、STLのcopyのようなものの実装を通して、型計算を学ぶことにしよう 2 型計算 2.1 君に仕事だ 君は、とあるプロジェクトで働くことになった。君に割り当てられた仕事は、copy_and_sumという関数を実装することだ。これは、STLのcopyのように振舞いつつ、コピーする値をすべて加算して、合計を返すという関数だ。次のように使う。 int main() { std::vector<int> src, dest(3) ; src.push_back(1) ; src.push_back(2) ; src.push_back(3) ; int ret = copy_and_sum( src.begin(), src.end(), dest.begin() ) ; std::

  • shared_ptr & weak_ptr - くらいおらいと

    Web 上ではフォントが崩れます. (DL 専用) Web 上で見る方は http://bit.ly/7dyNmz をどうぞ. 2009/12/12 Boost.勉強会プレゼン資料. 発表時のままの版. プレゼン発表の録画は http://bit.ly/6yjSkz です.Read less

    shared_ptr & weak_ptr - くらいおらいと
    kosaki
    kosaki 2009/12/12
    くらいお先生の発表 #boostjp
  • 変電工 - Google C++スタイルガイド日本語訳

  • Visual C++ Team Blog : MFC Updates for Vista Common Controls

    Overview Introduction In our previous two (part 1, part 2) blog posts we discussed how Office was thinking holistically about header units. In this installment we’d like to share the concrete steps taken to integrate header units into the build of Microsoft Word, and their effect on build throughput. ...

    Visual C++ Team Blog : MFC Updates for Vista Common Controls
    kosaki
    kosaki 2009/11/04
    VC2010のコード生成について
  • Linus「C++ はひどい言語だ。これは、多くの平均以下のプログラマーが使ってるために さらに輪をかけてゲロゲロになっていて、どうしようもないゴミが 簡単に生産されるようになってる」

    /15 [4] (21:54) 原文: http://lwn.net/Articles/249460/ From: xxx To: xxx Subject: Re: [RFC] builin-mailinfo.c をマシな文字列ライブラリを使うようにすること Date: Thu, 6 Sep 2007 18:50:28 +0100 (BST) Message-ID: <alpine.LFD.0.999.0709061839510.5626@evo.linux-foundation.org> On Wed, 5 Sep 2007, Dmitry Kakurin wrote: > > Git のソースコードを最初に見たとき、ヘンだと思ったこと: > 1. C++ じゃなくてただの C を使ってる。理由は謎。移植性がどうとか言わないで、 > そんなのウソに決まってるから。 *あんた* のほうこそ

    kosaki
    kosaki 2009/11/04
    正直いって、C を選ぶ理由が C++ プログラマーを 追っぱらうため *だけ* だったとしても、それ自体、C を使う強力な理由になりうる。
  • More C++ Idioms - Wikibooks

    C++ はあまりに『熟練者に優しく』なってしまった」(C++ has indeed become too "expert friendly") Stroustrup 氏の言は真実である。なぜなら熟練者は言語のイディオムに深く精通しているからである。プログラマが理解するイディオムの増加に従って、言語は彼あるいは彼女にとってよりフレンドリーになる。この open content book の目的はほどほどに C++ に精通しているプログラマに対して現代的な C++ のイディオムを提示し、C++ をよりずっとフレンドリーに感じるレベルにまで知識を引き上げる助けと成る事である。書は熟練した C++ プログラマが C++ を使ってプログラミングや設計を行う際に用いる事の多い再利用可能なイディオムの網羅的なカタログと成るよう意図されている。これは、それらのテクニックや語彙をひとまとめにしようという

    kosaki
    kosaki 2008/10/19
  • Visual C++ の今後 - Faith and Brave - C++で遊ぼう

    VC++開発チームのブログで重大な発表がありました。 ・Announcing a major MFC update plus TR1 support ・Quick Tour Of New MFC Functionality Herb Sutterのブログでも紹介されています。 ・Visual C++ Announcements in Barcelona: TR1 and MFC ・Visual C++ Libraries update ・Visual C++ Libraries update(日語訳記事) VC++9.0(Visual Studio 2008)から、MFCが大幅に拡張されるそうです。 Office 2007のリボンコントロールがネイティブなMFCで使えることが 大きく取り上げられていますが、大きく違うのは開発ターゲットの拡張です。 従来のデスクトップアプリケーションだけで

    Visual C++ の今後 - Faith and Brave - C++で遊ぼう
  • 間違ったコードは間違って見えるようにする - The Joel on Software Translation Project

    Joel Spolsky / 青木靖 訳 2005年5月11日 水曜 私が最初の当の仕事をはじめたのは1983年9月に遡る。それはオラニムというイスラエルの大きな製パン工場で、16台の飛行機ほどもある巨大なオーブンで、毎晩10万個のパンが作られていた。 はじめて工場に入った時、そのあまりの汚さに信じられない思いだった。オーブンの側面は黄ばんでいるし、機械は錆びていて、そこらじゅうが油だらけだった。 「いつもこんなに汚いの?」と私は聞いてみた。 「なんだって? なんの話をしてるんだ?」とマネージャが答えた。「掃除したばかりだから、今が一番きれいな状態なんだ」 なんてこった。 毎朝の工場の清掃を何ヶ月か続けて、ようやく彼らの言っていたことが理解できるようになった。パン工場では、きれいというのは機械にパン生地が付いてないことを言うのだ。きれいというのは、ゴミ箱に発酵したパン生地が入ってないこと

    kosaki
    kosaki 2007/03/17
    アプリケーションハンガリアンとシステムハンガリアン
  • C/C++ リファレンス

    kosaki
    kosaki 2006/03/22
  • C++ ABI

    The C++ ABI GitHub repository has moved to to https://itanium-cxx-abi.github.io/cxx-abi/.

    kosaki
    kosaki 2006/03/18
  • g++ exception handling - memologue

    Code Project という有名サイトに、VC++の例外処理方法に関する記事があります (http://www.codeproject.com/cpp/Exceptionhandler.asp) が、そこにg++の例外処理方法を解説したコメントがありました。 ざっくりと次のような事を言っています(翻訳してるわけではないので詳しくは英文読んでください)。 g++は、VC++とはちょっと違うやりかたで例外処理を実装している。g++の場合、実際に例外がthrowされない限りは、try/throw/catchを使ったコードを書いてもランタイムのコストはかからない。 foo()がbar()を呼んでいて、bar()が例外を投げるとせよ。このとき、foo()はスタックに戻りアドレス*1を置いてからbar()を呼ぶ。この戻りアドレスを仮にXとする。 このときコンパイラは、 (X, 掃除コードのアドレス

    g++ exception handling - memologue
  • おおー、これはラムダ式だ - 檜山正幸のキマイラ飼育記 (はてなBlog)

    コサキさんのblogエントリーに、C++へのラムダ式とクロージャ導入の提案ネタが。ふーん、そうなの。 次のような構文だそうです。 <> (int x, int y) -> int { return x + y; } 型付きラムダの記法、ほとんどそのままですね;λ(x:int, y:int).(x + y):int 。 コサキさん曰く: さすがはC++の親! シンタックスのセンスの悪さは余人の追従を許しません センスの「良し悪し」つうよりは、「独特なセンス」と言うべき、かと。 ドコが自然な構文なのかまるで分かりません。 まず -> が出てくるのが論外。これは見た瞬間にポインタに脳内置換される記号ですから他の意味に使ってはいけません 先入観を排除して「->」を見れば、ほら、何の変哲もない普通の矢印。「引数の型 →(矢印) 値の型」なら「自然」。 <>も意味分からんし。 目を細めて見てくださいよ

    おおー、これはラムダ式だ - 檜山正幸のキマイラ飼育記 (はてなBlog)