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

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

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

其實把lambda函數教程lambda表達式更貼切,因為它的確是個表達式。