使い捨てラムダ
ラムダはどんどん使い捨てていくのがいいと思うお。
int x = 0, y = 0, z = 0; const int n = 10; [&]() -> int& { if(n % 2 == 0) { return x; } else if(n % 3 == 0) { return y; } else if(n % 5 == 0) { return z; } }() = n; printf("%d, %d, %d\n", x, y, z); // 10, 0, 0
不思議な構造体
ラムダを保存する型があったとしても……そのラムダに上書きできないんじゃ全く意味ないよね;
auto t = std::make_tuple( [](int x) { return x * 2; }, 10 ); struct S { decltype(t) t; }; S s; s.t; // 何も出来ない