Lambda 汽車
資料型別 auto 關鍵字是程式設計師宣告 lambda 函式的便捷方式。它有助於縮短程式設計師輸入宣告函式指標所需的文字量。
auto DoThis = [](int a, int b) { return a + b; };
// Do this is of type (int)(*DoThis)(int, int)
// else we would have to write this long
int(*pDoThis)(int, int)= [](int a, int b) { return a + b; };
auto c = Dothis(1, 2); // c = int
auto d = pDothis(1, 2); // d = int
// using 'auto' shortens the definition for lambda functions
預設情況下,如果未定義 lambda 函式的返回型別,則將從返回表示式型別自動推斷出它。
這三個基本上是一回事
[](int a, int b) -> int { return a + b; };
[](int a, int b) -> auto { return a + b; };
[](int a, int b) { return a + b; };