Lambda 表达式C++例子
时间: 2023-09-04 11:08:52 浏览: 89
Lambda表达式的例子
以下是一个使用Lambda表达式的C++例子:
```
#include <iostream>
#include <vector>
#include <algorithm>
int main() {
std::vector<int> v = {1, 2, 3, 4, 5};
int sum = 0;
// 使用Lambda表达式来计算向量v中所有偶数的和
std::for_each(v.begin(), v.end(), [&] (int n) {
if (n % 2 == 0) {
sum += n;
}
});
std::cout << "Sum of even numbers in vector is " << sum << std::endl;
return 0;
}
```
在这个例子中,使用Lambda表达式来计算向量v中所有偶数的和。Lambda表达式使用for_each算法来遍历向量v中的所有元素,如果元素是偶数,则将其添加到变量sum中。Lambda表达式使用了捕获列表[&],表示Lambda表达式可以访问当前作用域中的所有变量(包括sum)。最后,输出变量sum的值。
需要注意的是,Lambda表达式可以访问捕获列表中的变量,但不能修改它们的值,除非使用mutable关键字来声明Lambda表达式是可变的。
阅读全文