为什么param在以下情况下需要两个参数:

时间:2009-03-10 16:37:38

标签: c++

我有点困惑:

 istream_iterator<string> ii(is);
 istream_iterator<string> eos; 
 vector<string> param (ii, eos); 

3 个答案:

答案 0 :(得分:1)

开始和结束迭代器。 Empty istream_iterator表示输入结束。

答案 1 :(得分:1)

带有迭代器的std::vector构造函数需要一个范围,即两个指定输入范围开始和结束位置的迭代器(以及通常表示超出范围结束的迭代器)。 / p>

即使您可以使用不同的输入迭代器,仍然需要将范围传递给std::vector

答案 2 :(得分:0)

一个用于开始,一个用于结束

随机数据 BEGIN ITERATOR 有用数据 END ITERATOR 随机数据

没有“eos”,向量如何知道何时到达终点?