タグ

C++11とlambdaに関するtyosuke2011のブックマーク (2)

  • ラムダオブジェクトを static 変数で保持する時の注意 - C++でゲームプログラミング


    Lingr  C++  static   void func(int const&i){ static auto f = [&]{ std::cout << i << std::endl; }; f(); } func(1); // => 1 func(2); // =>1 f() 1  int  //  int  void func(int i){ static auto f = [&]{ std::cout << i << std::endl; }; f(); } //  func(1); /
    ラムダオブジェクトを static 変数で保持する時の注意 - C++でゲームプログラミング
  • ラムダ式 [N2927] - cpprefjp C++日本語リファレンス

    このページはC++11に採用された言語機能の変更を解説しています。 のちのC++規格でさらに変更される場合があるため関連項目を参照してください。 概要 「ラムダ式(lambda expressions)」は、簡易的な関数オブジェクトをその場で定義するための機能である。 この機能によって、「高階関数(関数を引数もしくは戻り値とする関数)」をより使いやすくできる。 auto plus = [](int a, int b) { return a + b; }; int result = plus(2, 3); // result == 5 ここでは、[](int a, int b) { return a + b; }というコードがラムダ式に当たる。このラムダ式は、「int型のパラメータを2つとり、それらを足し合わせたint型オブジェクトを返す関数オブジェクト」を定義している。ここでは戻り値の型を

  • 1