9.5. Lambda 表达式
总述
Lambda 表达式对形参和函数体的格式化和其他函数一致; 捕获列表同理, 表项用逗号隔开.
说明
若用引用捕获, 在变量名和 &
之间不留空格.
- int x = 0;
- auto add_to_x = [&x](int n) { x += n; };
短 lambda 就写得和内联函数一样.
- std::set<int> blacklist = {7, 8, 9};
- std::vector<int> digits = {3, 9, 1, 8, 4, 7, 1};
- digits.erase(std::remove_if(digits.begin(), digits.end(), [&blacklist](int i) {
- return blacklist.find(i) != blacklist.end();
- }),
- digits.end());