for_each用法
时间: 2024-09-06 09:03:19 浏览: 46
for_each 返回值
`for_each`是C++标准库中的一个算法,它通常用于遍历容器中的每个元素并对其进行某种操作,但并不返回新的迭代序列。这个函数模板接受一个范围对象(如数组、vector或list等)和一个谓词(一个带有一个参数的函数),对范围内每个元素应用该谓词。
基本语法通常是这样的:
```cpp
#include <algorithm>
//...
std::vector<int> numbers = {1, 2, 3, 4, 5};
auto start = numbers.begin();
auto end = numbers.end();
std::for_each(start, end, [](int value) {
// 这里会对numbers中的每个元素value执行操作
std::cout << value * 2 << " ";
});
```
在这个例子中,`[](int value)`是一个lambda表达式,它是谓词的一部分,每次迭代都会将`value`传递给它。`for_each`会依次把`start`到`end`范围内的每个元素值传递给这个匿名函数。
阅读全文