内容 | 代码 | 备注 |
---|---|---|
捕获外部变量 | auto f = [a] { cout << a << endl; }; a = 321; f(); // 输出:123 | 值捕获,拷贝的方法 |
捕获外部变量 | auto f = [&a] { cout << a << endl; }; a = 321; f(); // 输出:321 | 引用捕获,捕获绑定的变量 |
捕获外部变量 | auto f = [=] { cout << a << endl; }; a = 321; f(); // 输出:123 | 值捕获 |
捕获外部变量 | auto f = [&] { cout << a << endl; }; a = 321; f(); // 输出:321 | 引用捕获 |
修改捕获变量 | auto f = amutable { cout << ++a; }; cout << a << endl; f(); // 输出:124 | 修改值捕获的变量 |
排序中使用 | sort(vec.begin(), vec.end(), [](int a, int b) -> bool { return a < b; }); | |
排序中使用 | sort(rec.begin(), rec.end(), [&](const string& a, const string& b) -> bool {return cnt[a] == cnt[b] ? a < b : cnt[a] > cnt[b];}); | 可以直接用内部的数组 |
C++特性-Lambda表达式
最新推荐文章于 2023-11-08 07:00:00 发布