C++ 算法 for_each() 函数
定义和用法
for_each()
函数用于对数据范围内的每个元素执行指定操作。
数据范围通过迭代器指定。
操作函数接收数据范围的元素作为参数。
注意:
如需修改元素值,必须使用引用参数(通过 & 引用运算符),如下例所示:
void add_one(int &value)
若不使用引用参数(如下所示),则函数只能读取元素值而无法修改:
void add_one(int value)
实例
将 vector 中的每个数字加一:
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 << " "; // 输出:2 8 4 6 10 3 } return 0; }
语法
for_each(iterator start, iterator end, function fun);
参数
参数 | 描述 |
---|---|
start | 必需。指向数据范围起始位置的迭代器。 |
end |
必需。指向数据范围结束位置的迭代器。 将处理到该位置之前的元素。 |
fun | 必需。接收数据元素作为参数的函数对象。 |
技术细节
返回: | 返回传入的 fun 函数对象(C++11 起)。 |
---|
相关页面
教程:C++ 数据结构
教程:C++ 迭代器
教程:C++ 算法