#include #includeusing
namespace
std::placeholders;
//lambda即匿名函式
intmain()
;
//格式:[captures] (params) -> ret
auto func =();
//lambda中變數擷取
/* 不擷取任何變數
[&} 擷取外部作用域中所有變數,並作為引用在函式體中使用
[=] 擷取外部作用域中所有變數,並拷貝乙份在函式體中使用
[=, &foo] 擷取外部作用域中所有變數,並拷貝乙份在函式體中使用,但是對foo變數使用引用
[bar] 擷取bar變數並且拷貝乙份在函式體重使用,同時不擷取其他變數
[this] 擷取當前類中的this指標。如果已經使用了&或者=就預設新增此選項。
*///
所有要在lambda中使用a需要
auto func1 = [=]();
func1();
getchar();
return0;
}
for(int i = 0; i < thread_numb; ++i), m_libevent_threads[i]));
}
可以傳遞引數
m_libevent_threads[i]
C 11 Lambda匿名函式學習
capture list params list mutable exception return type各項具體含義如下 capture list 捕獲外部變數列表 params list 形參列表 mutable指示符 用來說用是否可以修改捕獲的變數 exception 異常設定 return...
C 11 Lambda表示式(匿名函式)
c 11引入了lambda表示式,使得程式設計師可以定義匿名函式,該函式是一次性執行的,既方便了程式設計,又能防止別人的訪問。lambda表示式的語法通過下圖來介紹 這裡假設我們定義了乙個如上圖的lambda表示式。現在來介紹途中標有編號的各個部分是什麼意思。lambda表示式的引入標誌,在 裡面可...
C 11 Lambda表示式(匿名函式)詳解
使用 stl 時,往往會大量用到函式物件,為此要編寫很多函式物件類。有的函式物件類只用來定義了乙個物件,而且這個物件也只使用了一次,編寫這樣的函式物件類就有點浪費。而且,定義函式物件類的地方和使用函式物件的地方可能相隔較遠,看到函式物件,想要檢視其 operator 成員函式到底是做什麼的也會比較麻...