在C++中,lambda表達式用于創建匿名函數。它的語法如下:
捕獲列表 -> 返回類型 { 函數體 }
其中,捕獲列表可以為空,參數列表和返回類型可以省略,函數體可以是一個復合語句或單個表達式。
以下是一些使用lambda表達式的示例:
[]() {
// 函數體
}
int x = 5;
auto func = [x](int y) -> int {
return x + y;
};
int result = func(3); // result = 8
int x = 5;
auto func = [x]() {
return x * 2;
};
int result = func(); // result = 10
int x = 5;
auto func = [&x](int y) {
x += y;
};
func(3); // x = 8
需要注意的是,lambda表達式可以被當做函數對象使用,可以直接調用或者作為參數傳遞給其他函數。