std::for_each
时间: 2023-12-14 16:02:25 浏览: 58
`std::for_each` 是C++标准库中的一个算法函数,用于对一个范围内的元素执行指定的操作。它的函数签名如下:
```cpp
template <class InputIt, class UnaryFunction>
UnaryFunction for_each(InputIt first, InputIt last, UnaryFunction f);
```
这个函数接受三个参数:`first` 和 `last` 是表示范围的迭代器,`f` 是一个一元函数(Unary Function),用于对每个元素执行操作。
`std::for_each` 会从范围 `[first, last)` 中的每个元素开始调用函数 `f`,并将元素作为参数传递给函数。函数 `f` 可以是一个普通函数、函数对象(Function Object)或者 Lambda 表达式。
以下是一个使用 `std::for_each` 的示例代码,用于将一个整数向量中的每个元素乘以2并输出结果:
```cpp
#include <iostream>
#include <vector>
#include <algorithm>
void multiplyByTwo(int& value) {
value *= 2;
}
int main() {
std::vector<int> numbers = {1, 2, 3, 4, 5};
std::for_each(numbers.begin(), numbers.end(), multiplyByTwo);
for (int number : numbers) {
std::cout << number << " ";
}
std::cout << std::endl;
return 0;
}
```
输出结果为:
```
2 4 6 8 10
```
希望这个解答能够帮助你!如果你还有其他问题,请随时提问。
阅读全文