c++中for_each函数
时间: 2024-03-13 17:45:23 浏览: 58
for_each 返回值
`std::for_each` 是 C++ STL 中的一个算法,它可以对指定区间内的每个元素执行指定操作。它的函数原型如下:
```c++
template <class InputIterator, class Function>
Function for_each(InputIterator first, InputIterator last, Function fn);
```
其中,`first` 和 `last` 分别表示指定区间的开始和结束迭代器,`fn` 表示要执行的函数对象。`for_each` 会依次对区间内的每个元素执行 `fn` 函数,它返回 `fn`。
例如,以下代码展示了如何使用 `for_each` 函数对一个整型数组进行遍历:
```c++
#include <iostream>
#include <algorithm>
#include <vector>
int main() {
std::vector<int> nums = {1, 2, 3, 4, 5};
// 使用 lambda 表达式打印每个元素
std::for_each(nums.begin(), nums.end(), [](int num) {
std::cout << num << " ";
});
std::cout << std::endl;
return 0;
}
```
输出结果为:
```
1 2 3 4 5
```
在上面的代码中,我们使用了一个 lambda 表达式作为 `for_each` 的第三个参数,这个 lambda 表达式接收一个整数参数 `num`,并输出它的值。`for_each` 会对 `nums` 数组中的每个元素依次执行这个 lambda 表达式,最终将数组中的所有元素都输出。
阅读全文