最終更新:2021-01-07 (木) 15:47:58 (1205d)
C++/ラムダ式
https://ezoeryou.github.io/cpp-intro/#ラムダ式
構文
auto function = []( auto value ) { return value } ; [キャプチャリスト](パラメータリスト) mutable 例外仕様 属性 -> 戻り値の型 { 関数の本体 }
[] // ラムダ導入子 () // 引数リスト {} // 複合文 ; // 文末
キャプチャー
- ラムダ式から参照するオブジェクト
- キャプチャで指定しない限り、ラムダ式が定義されているスコープで宣言されているオブジェクトを使用できません
コピーキャプチャー
- 変数をコピーによってキャプチャーする。
- [=]?
リファレンスキャプチャー
- 変数をリファレンスによってキャプチャーする
- [&]?
例
auto plus = [](int a, int b) { return a + b; }; int result = plus(2, 3); // result == 5