2014-10-28 62 views
-2

这个问题是关于vector之后的书“C++ STL”的第一个问题。我无法回答它,而我在上网时无法找到答案。为什么不能int型是STL向量中的迭代器?

+2

它是一个真正的STL向量,还是来自C++标准库的'std :: vector'?无论如何,迭代器必须可解引用。你不能取消引用'int'。 – 2014-10-28 07:30:41

+0

对不起,我找不到一本名为“C++ STL”的书。是N.M. Josuttis的“C++标准库”吗?我在[Safari](https://www.safaribooksonline.com/)中查找了这一个,但是我找不到你所说的问题。 – TobiMcNamobi 2014-10-28 07:52:13

+0

P.J.普劳格写了它。 “C++标准模板库”。可能在不同的国家/地区名称不同。@ TobiMcNamobi – wangsquirrel 2014-10-28 08:08:08

回答

1

问题的一个显而易见的答案是,迭代器需要像指针一样工作,因此对于某个任意迭代器,*iterator是有效代码(*充当一元运算符)。

对于int,这将不会是这样 - 给予一定iint类型的,你不能使用*i(除了在*将被解释为二进制运算符背景下,诸如j *i做乘法)。

相关问题