在C++中,lambda表達(dá)式是一種匿名函數(shù),可以在需要函數(shù)對象的地方使用。lambda表達(dá)式的基本語法如下:
[capture list] (parameters) -> return_type {
// lambda函數(shù)體
}
其中,capture list
是捕獲列表,用于指定lambda函數(shù)所能訪問的外部變量;parameters
是參數(shù)列表;return_type
是返回類型;lambda函數(shù)體
是實(shí)際的函數(shù)實(shí)現(xiàn)。
以下是一個簡單的例子:
#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表達(dá)式捕獲了外部變量a
,并接受一個參數(shù)x
,返回a + x
的結(jié)果。lambda表達(dá)式可以像普通函數(shù)一樣調(diào)用,并且可以存儲在變量中,作為函數(shù)對象使用。