Lambda函数应用
下面是各种变量截取的选项:
- [] 不截取任何变量
- [&} 截取外部作用域中所有变量,并作为引用在函数体中使用
- [=] 截取外部作用域中所有变量,并拷贝一份在函数体中使用
- [=, &foo] 截取外部作用域中所有变量,并拷贝一份在函数体中使用,但是对foo变量使用引用
- [bar] 截取bar变量并且拷贝一份在函数体重使用,同时不截取其他变量
- [this] 截取当前类中的this指针。如果已经使用了&或者=就默认添加此选项。
例如
1 bool ret = CLIENT_Init([&](int lLoginID) 2 { 3 if(lLoginID== 0)return; 4 5 }, this); 6 if(!ret) 7 { 8 log << ns::err<< "CLIENT_Init failed"<<ns::ef; 9 return false; 10 } 11 12 13 //Lambda 设置回调方便