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 设置回调方便

 

posted @ 2019-03-14 18:05  出来打酱油  阅读(107)  评论(0编辑  收藏  举报