我试图代码相反的动作这样的:如何使用std :: copy读取任意数量的值?
std::ostream outs; // properly initialized of course
std::set<int> my_set; // ditto
outs << my_set.size();
std::copy(my_set.begin(), my_set.end(), std::ostream_iterator<int>(outs));
它应该是这样的:
std::istream ins;
std::set<int>::size_type size;
ins >> size;
std::copy(std::istream_iterator<int>(ins), std::istream_iterator<int>(ins) ???, std::inserter(my_set, my_set.end()));
但我坚持的“结束”迭代器 - 输入interators能不使用std :: advance,也不能使用两个源码相同的流...
有没有什么优雅的方法来解决这个问题?当然,我可以使用循环,但也许有一些更好:)
呵呵,你说得对,它是一种怀疑和最重要的 - 它不会在二进制流:) – 2008-10-30 14:01:10