C++ algorithm for_each() 函数
示例
将向量中的每个数字加一:
void add_one(int &value) {
value++;
}
int main() {
vector<int> numbers = {1, 7, 3, 5, 9, 2};
// 每个数字加一
for_each(numbers.begin(), numbers.end(), add_one);
// 输出修改后的数字
for (int number : numbers) {
cout << number << " ";
}
return 0;
}
亲自试一试 »
定义和用法
for_each() 函数会对数据范围内的每个元素执行一个函数。
数据范围由迭代器指定。
用于处理数据的函数会将数据范围内的一个元素作为参数。
注意:
要更改元素的值,函数的参数必须是使用 & 引用运算符的引用,如下例所示:
void add_one(int &value)
如果不使用 & 引用运算符(如下所示),则函数可以读取元素的值,但不能修改它。
void add_one(int value)
语法
for_each(iterator start, iterator end, function fun);
参数值
| 参数 | 描述 |
|---|---|
| start | 必需。指向数据范围起始位置的迭代器。 |
| end | 必需。指向数据范围结束位置的迭代器。将包含到此位置之前的元素,但不会包含此位置的元素。 | fun | 必需。一个以数据范围中的一个元素作为参数的函数。 |
技术细节
| 返回值: | 由 fun 参数提供的函数。 |
|---|
相关页面
阅读更多关于数据结构的内容,请参阅我们的数据结构教程。
阅读更多关于迭代器的内容,请参阅我们的迭代器教程。
阅读更多关于算法的内容,请参阅我们的算法教程。

