首页 > 代码库 > C++11新特性 lambda表达式
C++11新特性 lambda表达式
C++11 添加了了一个名为lambda表达式的功能,可以用于添加匿名函数
语法: [capture_block](parameter) mutable exception_specification ->return_type{body}
e.g 一个点击时间的例子
auto btnTest = Button::create();btnTest -> addTouchEventListener([=](Ref * sender, Widget::TouchEventType type){ //todo });
上例子表示的返回类型void 被省略
[=] 通过值捕捉所有变量(方法内能获取所有变量);
[&] 通过引用捕捉所有变量;
在来一个简单的例子
function<int void> testLambda(int x){ return [=]()->int {return x * x;};}//因为lambda中表达式的返回类型和空参数列表可以省略 的到一下:function<int void> testLambda(int x){ return [=]{return x * x;};}
个人总结:Lambda 可以用在添加只调用一次的方法上,好比javascript里面的写法。
C++11新特性 lambda表达式
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。