Lambda的必要性

1、方便使用。因為它的定義就在所用之處,這不像函數一樣。函數的一定往往在別處,如果你想修改實現代碼,你就必須到別處去修改,這比較麻煩。
2、簡潔。它不像類那么多代碼,它代碼很少。另外,它還可以用別名代替,如下圖所示:



那么以后你就可以使用別名了。
你也可以把它當成普通函數使用,如下圖所示:



它還可以放在某函數體內。
3,它可以被inline。因為一個函數一旦被取地址,它就不會被inline。這個理由我不太理解。
4、它還有其他功能。Lambda前邊的[]是一個變量列表,有點像形參列表的樣子。在[]中當你輸入一個變量名時,相當于值傳遞;你輸入一個&name時,相當于傳遞一個引用;你只輸入一個&,那么所有變量都是傳遞引用;你只輸入一個=,那么傳遞的都是值。

這些也可以混搭。比如說[ted,&ed]代表ted是值傳遞,而ed則傳遞的是引用,[&,ted]代表除了ted是值傳遞,其他傳遞的都是引用。[=,&ed]代表除了ed是引用傳遞以外,其他的都是值傳遞。
一個例子如下所示:



其實把lambda函數教程lambda表達式更貼切,因為它的確是個表達式。
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容