lambda表达式

基本结构
[函数对象参数] (操作符重载函数参数) mutable 或 exception 声明 -> 返回值类型 {函数体}

引入符 说明
[] 不捕获任何外部变量
[=] 以传值的方式捕获所有外部变量
[&] 以传引用的方式捕获所有外部变量
[x,&y] x 以传值的方式捕获,其余外部变量传引用的方式捕获
[=,&x] x以传引用的方式捕获,其余外部变量以传值的方式捕获
[&,x] 以传值的方式捕获,其余外部变量传引用的方式捕获
#include 
#include
#include
using namespace std;
int main()
{
    size_t v1 = 15;
    auto f1 = [v1]{return v1;};
    auto f2 = [&v1]{return v1;};
    cout << "f1 = " << f1()< bool { return x < y; } );
    for_each(a, a+4, [=](int x) { cout << x << " ";} );
    cout<

运行结果:
lambda表达式_第1张图片

你可能感兴趣的:(#,C++,学习笔记,c++)