タグ

C++に関するukstudioのブックマーク (4)

  • 本の虫: lambda 完全解説

    目的 この記事は、C++0xのlambdaを完全に解説せんとする目的を以て書かれた。サンプルコードは最小に留め、エラー処理等は省いた。この記事さえ読めば、今日からlambdaを恐れることなく使う物のC++0xプログラマになれるだろう。 lambdaとは何ぞや lambdaである。あるものは、lambda関数、あるいは無名関数という名称を使っている。いったいlambdaとは何なのか。 lambdaは関数である。また、特に名前はない。したがって、lambda関数、無名関数と呼ぶのは、間違ってはいない。しかしここでは、単にlambdaと呼ぶことにする。 lambdaを定義しよう lambdaは関数オブジェクトである。lambdaは関数オブジェクトである。これはとても大事なので二度書いた。lambdaは関数オブジェクト以外の何物でもない。ところが不思議なことに、皆lambdaが単なる関数オブジェ

  • Bjarne Stroustrup インタビュー (?)

    これは物なのかなあ…。Computer 誌(IEEE 発行)が C++ 言語の開発者 Bjarne Stroustrup 氏に行ったインタビューの記録だそうです。内容に非常に問題があるため実際には掲載されなかったのが、どこからかリークされたものだとか。 物かどうかは自分で判断してください。私としては何とも言えません。Usenet のニュースグループ rec.games.roguelike.angband への投稿記事が原文です。(英語原文はこちら) インタビューア(以下「I」):  あなたがソフトウェアデザインの世界を一変させてから何年にもなる。振り返ってみて、感想は。 Stroustrup(以下「S」):  実はあなたがここへ来る直前、当時のことを思い出していたんだ。おぼえているかな。誰もが C 言語を使っていたけど、問題はみんな結構うまくコーディングしていたことだった。大学も C

  • RTTI のコストを理解する

    イントロダクション RTTI (Run Time Type Information) は実行時型情報などと訳され、その名の通り実行時に型の情報を得る機能のことをいいます。これは、ポリモーフィックなオブジェクトを扱う時に有効な機能です。dynamic_cast 演算子や typeid 演算子、type_info クラスなどがこれにあたります。 便利な機能には大抵コストがついてまわります。RTTI も例外ではなく、プログラムサイズの増加や実行速度の低下などのコストがかかります。そして RTTI は、コストがかかるという理由と、特別必要な機能ではないという理由から、敬遠されがちです。しかし、全てのコードを自分で書く場合は RTTI を使わずに安全な設計をすることも可能ですが、他人の作ったライブラリを使う場合はそうもいかないことがあります。また、自分で全部書く場合でも、RTTI を使った方がスマー

  • 手軽な低レベルプログラミング環境として GBA はもっと評価されるべき

    とりあえず開発を始めるにあたっては特殊なハードウェアなどは必要なくて、 コンパイルは gcc テストはエミュレータの VisualBoyAdvance といった流れで開発を進めます。 最後の最後に実機確認をする段階になったら、ロムイメージを書き込んで GBA の実機で実行させるためのマジコンが必要になりますが 当面は必要ありません。 まず VisualBoyAdvance で動けば実機で動きますし、その逆も真です。 ちなみに「Linuxから目覚めるぼくらのゲームボーイ!」などで用いられている ブートケーブル経由での開発はハードウェア資源の制限がキツくなるのでオススメできません。 コンパイルについては gcc で OK で、これは devkitPro r18 (buildscripts 20060412) をインストールすれば一式入ります。 Windows, MacOSX, Linux など

  • 1