for_each(iterator beg,iterator end,_func)
beg开始迭代器
end结束迭代器
——func函数或函数对象
#include#include #include using namespace std; //for_each遍历算法 void print(int val) { cout << val << " "; } class print1 { public: void operator()(int val) { cout << val << " "; } }; void test1() { vector v; v.push_back(1); v.push_back(2); v.push_back(2); v.push_back(3); //用普通函数 for_each(v.begin(), v.end(), print); //用仿函数 for_each(v.begin(), v.end(), print1()); }
transform(iterator beg1,iterator end1,iterator beg2,_func)
beg1原容器起始位置
end1原容器终止位置
beg2接收容器起始位置
_func运算函数
#include#include #include using namespace std; //transform遍历算法 class transform1 { public: int operator()(int v) { return v; } }; void test1() { vector v; v.push_back(1); v.push_back(2); v.push_back(3); v.push_back(4); vector v2; //目标容器需要提前开辟空间 v2.resize(v.size()); transform(v.begin(), v.end(), v2.begin(), transform1()); }



