<algorithm>
头文件中提供的一种遍历算法,用于对一个序列(或一个范围内)中的每个元素执行指定的操作(可以是一个函数或者一个函数对象)。template <class InputIterator, class Function> Function for_each (InputIterator first, InputIterator last, Function fn);
#include <iostream> #include <vector> #include <algorithm> void print(int value) { std::cout << value << " "; } int main() { std::vector<int> nums = {1, 2, 3, 4, 5}; std::for_each(nums.begin(), nums.end(), print); // 输出: 1 2 3 4 5 return 0; }示例中使用了一个普通函数 print() 来打印 vector 中的每个元素。执行结果为:
1 2 3 4 5
#include <iostream> #include <vector> #include <algorithm> int main() { std::vector<int> nums = {1, 2, 3, 4, 5}; std::for_each(nums.begin(), nums.end(), [](int value) { std::cout << value * value << " "; }); // 输出: 1 4 9 16 25 return 0; }示例中使用了一个 lambda 函数,它接受一个整数并打印其平方。执行结果为:
1 4 9 16 25
#include <iostream> #include <vector> #include <algorithm> class Printer { public: void operator()(int value) { std::cout << "Value: " << value << std::endl; } }; int main() { std::vector<int> nums = {1, 2, 3}; Printer printer; std::for_each(nums.begin(), nums.end(), printer); /* 输出: Value: 1 Value: 2 Value: 3 */ return 0; }示例中定义了一个名为 Printer 的函数对象,并使用它来打印 vector 中的每个元素。执行结果为:
Value: 1
Value: 2
Value: 3
本文链接:http://task.lmcjl.com/news/18922.html