C++ 多線程與Lambda 表達式
1)
Lambda表達式具體形式如下:
[capture](parameters)->return-type{body}
如果沒有參數,空的圓括弧()可以省略.返回值也可以省略,如果函數體只由一條return語句組成或返回類型為void的話.形如:
[capture](parameters){body}
關於capture裡面的值如何獲取:
[] //未定義變數.試圖在Lambda內使用任何外部變數都是錯誤的.
[x, &y] //x 按值捕獲, y 按引用捕獲.
[&] //用到的任何外部變數都隱式按引用捕獲[=] //用到的任何外部變數都隱式按值捕獲[&, x] //x顯式地按值捕獲. 其它變數按引用捕獲[=, &z] //z按引用捕獲. 其它變數按值捕獲2) thread 庫
g++ http://test.cc -std=c++11 -pthread
a) detach 和 lambda[=]