在C++中,lambda表達式是一種匿名函數,可以在需要函數對象的地方使用。lambda表達式的基本語法如下:
[capture list] (parameters) -> return_type {
// lambda函數體
}
其中,capture list
是捕獲列表,用于指定lambda函數所能訪問的外部變量;parameters
是參數列表;return_type
是返回類型;lambda函數體
是實際的函數實現。
以下是一個簡單的例子:
#include <iostream>
int main() {
int a = 5;
auto lambda = [a](int x) -> int {
return a + x;
};
std::cout << lambda(3) << std::endl; // 輸出8
return 0;
}
在這個例子中,lambda表達式捕獲了外部變量a
,并接受一個參數x
,返回a + x
的結果。lambda表達式可以像普通函數一樣調用,并且可以存儲在變量中,作為函數對象使用。