C++ Lambda 表达式
C++ Lambda 表达式
快速入门
// lambda 函数
// 本质上:就是匿名函数
auto lam = [] {cout << "hello world";};
lam(); // 使用 lambda 函数
auto add = [](int a, int b)->int {
return a + b;
};
int res = add(3, 8);
cout << res << endl;
int data[10] = {1,4,4,6,7,3,1,4,9,8};
sort(data, data + 10); // 默认升序
for (auto i : data){
cout << i << " " << endl;
}
sort(data, data + 10, [](int a, int b) {return a > b;});
for (auto i : data){
cout << i << " " << endl;
}
语法详解
[捕捉列表] (参数列表)-> 返回值类型 {函数体}
捕捉列表
用来捕捉这个 lambda 表达式所在作用域中的相关变量