Lambda函数的语法形式为[捕获列表](参数列表) -> 返回类型 { 函数体 }
。下面是Lambda函数的使用示例和说明:
#include <iostream>
int main() {
// Lambda函数示例1:无参数、无返回值
[] {
std::cout << "Hello, Lambda!" << std::endl;
}();
// Lambda函数示例2:带参数、无返回值
[](int a, int b) {
std::cout << "Sum: " << (a + b) << std::endl;
}(3, 4);
// Lambda函数示例3:带参数、带返回值
int result = [](int a, int b) -> int {
return a + b;
}(3, 4);
std::cout << "Result: " << result << std::endl;
return 0;
}
在上面的示例中:
- 示例1展示了一个无参数、无返回值的Lambda函数,通过
[]
表示不捕获任何变量,{}
内为函数体,()
表示立即调用该Lambda函数。 - 示例2展示了一个带参数、无返回值的Lambda函数,通过
(int a, int b)
指定了参数列表,函数体内部计算并输出结果。 - 示例3展示了一个带参数、带返回值的Lambda函数,通过
-> int
指定了返回类型,函数体内部计算并返回结果。
需要注意的是,Lambda函数可以在需要函数对象的地方使用,比如作为算法函数的参数、STL容器的操作函数等。Lambda函数可以直