在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表达式可以被当做函数对象使用,可以直接调用或者作为参数传递给其他函数。