C++ 算法 for_each() 函数
示例
将向量中的每个数字加一
void add_one(int &value) {
value++;
}
int main() {
vector<int> numbers = {1, 7, 3, 5, 9, 2};
// Increase each number by one
for_each(numbers.begin(), numbers.end(), add_one);
// Output the modified numbers
for (int number : numbers) {
cout << number << " ";
}
return 0;
}
自己试试 »
定义和用法
The for_each()
函数对数据范围中的每个元素运行一个函数。
数据范围由迭代器指定。
对数据使用的函数以数据范围中的元素作为参数。
注意:
为了更改元素的值,函数的参数必须使用 &
引用运算符,如本例所示
void add_one(int &value)
如果未使用 &
引用运算符,如下所示,那么该函数将能够读取元素的值,但不能修改它。
void add_one(int value)
语法
for_each(iterator start, iterator end, function fun);
参数值
参数 | 描述 |
---|---|
start | 必需。指向数据范围开始的迭代器。 |
end | 必需。指向数据范围结束的迭代器。将包括该位置之前的元素,但不会包括该位置的元素。 |
fun | 必需。一个函数,它以数据范围中的元素作为参数。 |
技术细节
返回值 | 由 fun 参数提供的函数。 |
---|
相关页面
在我们的 数据结构教程 中了解更多关于数据结构的信息。
在我们的 迭代器教程 中了解更多关于迭代器的信息。
在我们的 算法教程 中了解更多关于算法的信息。