タグ

ブックマーク / gintenlabo.hatenablog.com (1)

  • ラムダ式の参照キャプチャは基本的に安全である - 野良C++erの雑記帳

    ラムダ式ネタをもう一つ。こっちは少々マニアックな内容です。 C++0x におけるラムダ式は、 int f( std::vector<int> const& v1, std::vector<int> const& v2 ) { int sum = 0; auto add_to_sum = [&](int x){ sum += x; }; std::for_each( v1.begin(), v1.end(), add_to_sum ); std::for_each( v2.begin(), v2.end(), add_to_sum ); return sum; } のように、ローカル変数を参照キャプチャすることが可能ですが、 一般に、ローカル変数に対する参照には、 dangling reference*1 が生じる可能性、というものが存在します: // ラムダ式とは関係ない例 std::st

    ラムダ式の参照キャプチャは基本的に安全である - 野良C++erの雑記帳
    joint1
    joint1 2017/11/28
    ラムダ式のキャプチャ、安全な場合と、未定義の場合を把握するべし。
  • 1