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 表达式所在作用域中的相关变量

[=] 值传递

[变量1,变量2] 捕捉指定变量

[&] 以引用额方式,捕捉作用域内的所有变量

[] 不捕捉

posted @ 2024-11-29 00:48  爱新觉罗LQ  阅读(10)  评论(0编辑  收藏  举报