C++11新特性:function, bind和lambda
2018-03-09 10:09
323 查看
function, bind和lambda:http://blog.csdn.net/Augusdi/article/details/11771699
bind中使用std::ref和std::cref,bind中默认使用的拷贝,而不是引用,根据实际情况,可使用std::ref和std::cref将参数设置为引用https://www.cnblogs.com/jiayayao/p/6527713.html
lambda:https://www.cnblogs.com/langzou/p/5962033.html
下面我们来总结下所有出现的 lambda 引入符:[] // 不捕获任何外部变量[=] // 以值的形式捕获所有外部变量[&] // 以引用形式捕获所有外部变量[x, &y] // x 以传值形式捕获,y 以引用形式捕获[=, &z]// z 以引用形式捕获,其余变量以传值形式捕获[&, x] // x 以值的形式捕获,其余变量以引用形式捕获
lambda中使用this指针:对于[=]或[&]的形式,lambda 表达式可以直接使用 this 指针。但是,对于[]的形式,如果要使用 this 指针,必须显式传入:[this]() { this->someFunc(); }();
bind中使用std::ref和std::cref,bind中默认使用的拷贝,而不是引用,根据实际情况,可使用std::ref和std::cref将参数设置为引用https://www.cnblogs.com/jiayayao/p/6527713.html
lambda:https://www.cnblogs.com/langzou/p/5962033.html
下面我们来总结下所有出现的 lambda 引入符:[] // 不捕获任何外部变量[=] // 以值的形式捕获所有外部变量[&] // 以引用形式捕获所有外部变量[x, &y] // x 以传值形式捕获,y 以引用形式捕获[=, &z]// z 以引用形式捕获,其余变量以传值形式捕获[&, x] // x 以值的形式捕获,其余变量以引用形式捕获
lambda中使用this指针:对于[=]或[&]的形式,lambda 表达式可以直接使用 this 指针。但是,对于[]的形式,如果要使用 this 指针,必须显式传入:[this]() { this->someFunc(); }();
相关文章推荐
- C++11新特性(六)bind,function,lambda简单使用
- 【C++11】新特性——function、bind以及lamda表达式
- c++11特性与cocos2d-x 3.0之std::bind与std::function
- C++11新特性应用--实现延时求值(std::function和std::bind)
- c++11特性与cocos2d-x 3.0之std::bind与std::function
- c++11特性与cocos2d-x 3.0之std::bind与std::function
- C++11新特性应用--实现延时求值(std::function和std::bind)
- C++11新特性之std::bind与std::function
- c++11特性与cocos2d-x 3.0之std::bind与std::function
- C++11新特性之二——std::bind std::function 高级用法
- C++11新特性之八:bind和function
- C++11重要特性:lambda+function
- c++11特性与cocos2d-x 3.0之std::bind与std::function
- C++11新特性之九——function、bind以及lamda表达式总结
- c++11基础学习(2)std::bind与std::function特性
- 【很nice的一篇文章】c++11特性与cocos2d-x 3.0之std::bind与std::function
- 学习C++11的一些思考和心得(1):lambda,function,bind和委托
- c++11 特性 std::function 与 std::bind
- c++11特性与cocos2d-x 3.0之std::bind与std::function
- 【C++】C++11特性:lambda和function