C++11 Lambda表達式捕獲列表


[捕獲列表]

1、空,沒有使用任何函數對象參數。

2、=,函數體內可以使用Lambda所在作用范圍內所有可見的局部變量(包括Lambda所在類的this),並且是值傳遞方式(相當於編譯器自動為我們按值傳遞了所有局部變量)。

3、&,函數體內可以使用Lambda所在作用范圍內所有可見的局部變量(包括Lambda所在類的this),並且是引用傳遞方式(相當於編譯器自動為我們按引用傳遞了所有局部變量),不過要注意是const引用。

4、this,函數體內可以使用Lambda所在類中的成員變量。

5、a,將a按值進行傳遞。按值進行傳遞時,函數體內不能修改傳遞進來的a的拷貝,因為默認情況下函數是const的。要修改傳遞進來的a的拷貝,可以添加mutable修飾符。

6、&a,將a按引用進行傳遞。

7、a, &b,將a按值進行傳遞,b按引用進行傳遞。

8、=,&a, &b,除a和b按引用進行傳遞外,其他參數都按值進行傳遞。

9、&, a, b,除a和b按值進行傳遞外,其他參數都按引用進行傳遞。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM