利用仿函数对vector进行遍历
#include<string>
#include<vector>
#include<algorithm>
using namespace std;
class MyPrint
{
public:
void operator()(int val)
{
cout << val << endl;
}
};
int main()
{
vector<int>v;
for (int i = 0; i < 10; i++)
{
v.push_back(i);
}
for_each(v.begin(), v.end(), MyPrint());
system("pause");
return 0;
}
这里主要是用for_each来进行变量,他的第三个参数就是仿函数的对象,注意,一定要是个对象,不能是个函数。
不利用仿函数遍历:
int main()
{
vector<int>v;
for (int i = 0; i < 10; i++)
{
v.push_back(i);
}
for_each(v.begin(), v.end(), [](int val) {cout << val << " "; });
system("pause");
return 0;
}