C++ for_each 用法
fstream ofs
for_each(v.begin(), eMv.end(), bind2nd(cref(save), ofs));
//查询得知bind2nd只能拼接char*
我想实现的是vector的遍历并使用for_each算法,但是for_each的第三个参数要求的得是一个函数对象,而且本身传进去的也只有iterator,有没有一种方法能够实现传多一个参数 如ofstream ofs这种?
我想做的是遍历vector并将其保存到文件中,但又不想每次都要在save函数里面打开文件
可以用新版for
for(auto i : v)
{
...
}
用lambda
ofstream out("out.txt");
vector<int> vec{ 1,3,2 };
for_each(vec.begin(), vec.end(), [&](int b) {
out << b;
});
out.close();