本篇博客来自star特530,转载请注明出处。http://blog.youkuaiyun.com/start530/article/details/19913611
Cocos2dx 3.0 版本后加入了lambda表达式,或者说C++ 11终于引入了lambda表达式,那么,什么是lambda表达式呢?
例如调用<algorithm>中的std::sort,ISO C++ 98 的写法是要先写一个compare函数:
- bool compare(int & a, int & b)
- {
- return a > b; // 降序排序
- }
- sort(a, a+n, compare);
然而,用ISO C++ 11 标准新增的Lambda表达式,可以这么写:
- sort(a, a + n, [](int a, int b){ return a > b;}); // 降序排序
由于Lambda的类型是唯一的,不能通过类型名来显式声明对应的对象,但可以利用auto关键字和类型推导: