我试图通过预先使用向量的构造函数参数来计算读取的元素数量std::cin
,std::distance
如下所示:
// Gives correct amount, but now can't use to put into vector
int size = std::distance(std::istream_iterator<std::string>(std::cin),
std::istream_iterator<std::string>());
std::vector v(size);
// Already read from stream
std::copy(...);
显然,我可以使用 一步完成此操作std::copy
,但这需要事先设置大小。我的问题不是关于向量,而是关于在std::istream_iterator
不影响流的情况下使用任意输入的大小。有任何想法吗?