C++的lambda表达式怎么写
时间: 2023-08-19 08:04:50 浏览: 182
在++中,lambda表达是一种用于创建匿函数的便捷语法。lambda表达式的一般形式如下:
```
[capture list](parameter list) -> return type {
// 函数体
}
```
其中,`capture list` 是一个可选的捕获列表,用于在lambda函数中捕获外部变量。`parameter list` 是参数列表,用于定义lambda函数的参数。`return type` 是返回类型,用于指定lambda函数的返回值类型。`函数体` 是真正执行的代码块。
下面是一个简单的示例,展示了lambda表达式的使用:
```cpp
#include <iostream>
int main() {
int x = 3;
int y = 4;
// 使用lambda表达式定义一个匿名函数
auto sum = [](int a, int b) {
return a + b;
};
// 调用lambda函数
int result = sum(x, y);
std::cout << "Sum: " << result << std::endl;
return 0;
}
```
在上述示例中,我们定义了一个lambda表达式 `sum`,它接受两个整数参数并返回它们的和。然后我们调用lambda函数,并将结果打印到控制台。
需要注意的是,lambda表达式可以根据需要进行捕获外部变量。通过捕获列表,我们可以指定要在lambda函数中访问的外部变量。例如,可以使用 `[x]` 来捕获变量 `x`,或使用 `[=]` 来捕获所有的外部变量。还可以使用 `[&]` 来捕获所有外部变量的引用。更多关于lambda表达式的详细信息和用法,请参考C++的相关文档或教程。
希望能帮到你!如果你还有其他问题,请随时提问。
阅读全文