C++11新特性:function, bind和lambda


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(); }();

你可能感兴趣的:(C++11新特性:function, bind和lambda)