タグ

ブックマーク / faithandbrave.hateblo.jp (8)

  • 『プログラミングの魔導書 Vol.2』予約開始! - Faith and Brave - C++で遊ぼう

    株式会社ロングゲート - プログラミングの魔導書 〜Programmers' Grimoire〜 Vol.2 Vol.1から約1年経ってしまいましたが、日、 『プログラミングの魔導書 〜Programmers' Grimoire〜』 Vol.2 The Evolution of Languages の予約を開始いたしました。 Vol.2のテーマは「言語の進化」です。 いろいろな言語における日の第一人者と言って差し支えない日人プログラマの方々に、歴史や現在の状況、今後の展開について執筆していただきました。 書では、Boost C++ Librariesの設計者であるDave Abrahamsへのインタビューに成功しました。ライブラリが言語の進化にどう貢献していくのか、プログラマにライブラリをどう教育していくのか、などを伺いました。 書のコンテンツおよび執筆者は以下のとおりです。 D

    『プログラミングの魔導書 Vol.2』予約開始! - Faith and Brave - C++で遊ぼう
    shiwork
    shiwork 2011/09/15
    でるのか! 『プログラミングの魔導書 Vol.2』予約開始! - Faith and Brave - C++で遊ぼう
  • C++0x 新たな関数宣言構文 - Faith and Brave - C++で遊ぼう

    以下のように、戻り値の型を後ろに書けるようになる // now std::vector<double> foo(double); // new auto foo(double) -> std::vector<double>; 戻り値の型を後置すると、decltype でパラメータを計算した型を戻り値の型にできる template <class T, class U> auto foo(T t, U u) -> decltype(t * u) { return t * u; } いろいろ応用できそうな気がする N2541 New Function Declarator Syntax Wording C++0x言語拡張まとめ

    C++0x 新たな関数宣言構文 - Faith and Brave - C++で遊ぼう
  • C++0x ラムダ式 - Faith and Brave - C++で遊ぼう

    【2015年12月24日記載 : C++11 ラムダ式の正式なまとめは、こちらのページ「C++11 ラムダ式 - cpprefjp C++語リファレンス」を参照してください】 今まではラムダ式のリビジョンが上がるたびに差分だけ書いてたので C++0xに採択されたラムダ式の解説をあらためて書きます。 【C++03までの問題点】 C++03では、関数をその場で作成する、ということができなかったため 関数を受け取るSTLアルゴリズムを使用する場合、以下のように、アルゴリズムに渡す用の関数を作成しなければなりませんでした。 struct is_even { typedef bool result_type; bool operator()(int x) const { return x % 2 == 0; } }; vector<int> v; find_if(v.begin(), v.end

    C++0x ラムダ式 - Faith and Brave - C++で遊ぼう
  • 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++で遊ぼう
    shiwork
    shiwork 2010/02/01
    関数の戻り値の型を後置するスタイルって使ったこと無いけど使いどころって例えばどういうところなんだろう? C++0x基礎文法最速マスター - Faith and Brave - C++で遊ぼう
  • Boost.勉強会のまとめとか感想とか今後についてとか - Faith and Brave - C++で遊ぼう

    Boost.勉強会 - ATND 12/12(土)にグリー株式会社様のセミナー会場をお借りして Boost.勉強会を開催しました。id:sotarokさんありがとうございました! 【発表のまとめと感想】 ・Boostライブラリ 一周の旅(id:faith_and_brave, @cpp_akira) Boost 1.40.0に含まれるライブラリのうち、74ライブラリを紹介し、 それに加えて「一分でわかるテンプレートメタプログラミング」というのを話しました。 (1分以内には終わらなかったのと、もうちょっとじっくりやりたかったです。) 今回の勉強会ではじめてBoostを知った、という方にはBoostを使い始めるきっかけと なっていただければ幸いです。 反省点としては、1時間セッションの予定が気づいたら40分もオーバーしてしまっていたことですね。 解説するライブラリが74個もあったというのはあり

    Boost.勉強会のまとめとか感想とか今後についてとか - Faith and Brave - C++で遊ぼう
  • glpngのダウンロード先 - Faith and Brave - C++で遊ぼう

    glpngがいろんなとこでリンク切れしてるのでメモ http://openports.se/graphics/glpng サンプル #include <gl/glut.h> #include "glpng.h" GLuint texture; void display() { glClear(GL_COLOR_BUFFER_BIT); glPushMatrix(); glTranslatef(0, 0, 0); glBindTexture(GL_TEXTURE_2D, texture); glPopMatrix(); // テクスチャをポリゴンに貼り付け glBegin(GL_QUADS); glTexCoord2d(0.0, 0.0); glVertex2d(-1,1); glTexCoord2d(0.0, 1.0); glVertex2d(-1,-1); glTexCoord2d(1.

    glpngのダウンロード先 - Faith and Brave - C++で遊ぼう
  • shared_array - Faith and Brave - C++で遊ぼう

    meltさんのとこからもらってきたシリーズ第2弾 はい。shared_arrayです。 meltさんのをboost::shared_arrayのインターフェースに合わせただけです。 shared_arrayはC++0xのTR1ライブラリには含まれないので、しばらく使いそうですね #include <functional> // less namespace shand { template <class Type> class shared_array { Type* object_; // 生のポインタ int* counter_; // 参照カウンタ public: typedef Type element_type; typedef Type value_type; typedef Type* pointer; shared_array() : object_(0), counter

    shared_array - Faith and Brave - C++で遊ぼう
  • enum classをintに変換 - Faith and Brave - C++で遊ぼう

    C++0xで導入されるenum classは、C++03までのenumよりも型付けが 強くなっているのでint型への暗黙の型変換はできなくなっています。 enum class Color { Blue = 0, Yello, Red }; int color = Color::Red; // エラー!Colorからintへ変換できません 明示的な型変換ならいけるかな、と思ったのでenum classを実装しているGCC 4.4で試してみました。 int color = static_cast<int>(Color::Red); // OK : colorは2 明示的な型変換はできるみたいです。 intからenum classへの変換も、明示的な型変換をすればいけます。 void foo(Color color) {} foo(2); // エラー!第1引数をintからColorへ変換できま

    enum classをintに変換 - Faith and Brave - C++で遊ぼう
  • 1