c++ 写一个拉姆达表达式 示例
时间: 2024-05-08 22:16:59 浏览: 94
Lambda表达式是一种匿名函数,可以用于创建一个函数对象,可以在需要函数的任何地方使用。下面是一个示例Lambda表达式:
```c++
#include <iostream>
#include <vector>
#include <algorithm>
int main()
{
std::vector<int> vec{ 1, 2, 3, 4, 5 };
std::for_each(vec.begin(), vec.end(), [](int n){ std::cout << n << " "; });
// 输出:1 2 3 4 5
auto sum = [](int a, int b){ return a + b; };
std::cout << sum(3, 4); // 输出:7
return 0;
}
```
这个示例演示了如何使用Lambda表达式来迭代一个整数向量,以及如何使用Lambda表达式来定义一个简单的加法函数对象。Lambda表达式的基本语法是:
```c++
[capture-list](parameter-list) -> return-type { function-body }
```
其中,capture-list是捕获列表,用于捕获外部变量,parameter-list是参数列表,用于定义函数参数,return-type是返回类型,用于定义函数返回类型,function-body是函数体,用于定义函数操作。在上面的示例中,我们使用了两个不同的Lambda表达式。第一个Lambda表达式没有参数,捕获列表为空,函数体中使用了std::cout输出向量中的元素。第二个Lambda表达式有两个参数,捕获列表为空,函数体中使用了加法运算符来计算两个整数的和。
阅读全文