匿名函数
1、匿名函数格式
-
void test01() { []() { cout << "hello world" << endl; }(); }
2使用方式(引用)
1
void test01() { int a = 10; int b = 20; [&]() {//引用的方捕获外部的变量 cout<< a<< ""<< b<< endl; a = 100; b = 200; }();
3使用方式(值)
-
//值得方式捕获外部变量 void test04(){ int a = 10; int b = 20; [&a, b]()mutable { cout << a<< " "<< b << endl; a = 100; b = 200; }(); cout << a << "" << b<< endl; }
4匿名函数参数
1
int v1 = 100; int v2 = 200; // lambda 表达式的参数可以是: 值、指针、引用 int ret = [](int a, int b) { return a + b; }(v1, v2);//尾巴做标识 cout << "ret = " << ret << endl;
5 定义变量保存匿名函数,给匿名函数增加名字
-
1
void test05() { auto f = []() {cout << "hello wod" << endl; }; //名字是f 使用aut0来承接 auto f1 = [](int a, int b) {return a * b; }; cout << f1(10, 20) << endl; cout << typeid(f1).name() << endl; }
6
7