1. 程式人生 > >C++11新特性:function, bind和lambda

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

function, bind和lambda:bind中使用std::ref和std::cref,bind中預設使用的拷貝,而不是引用,根據實際情況,可使用std::ref和std::cref將引數設定為引用lambda:下面我們來總結下所有出現的 lambda 引入符:[] // 不捕獲任何外部變數[=] // 以值的形式捕獲所有外部變數[&] // 以引用形式捕獲所有外部變數[x, &y] // x 以傳值形式捕獲,y 以引用形式捕獲[=, &z]// z 以引用形式捕獲,其餘變數以傳值形式捕獲[&, x] // x 以值的形式捕獲,其餘變數以引用形式捕獲lambda中使用this指標:對於[=]或[&]的形式,lambda 表示式可以直接使用 this 指標。但是,對於[]的形式,如果要使用 this 指標,必須顯式傳入:[this]() { this->someFunc(); }();