列表的迭代器类型

时间:2012-08-23 16:01:12

标签: c++

我知道vector<double>::iterator返回随机访问迭代器类型。list<double>::iterator返回的迭代器类型是什么。它是双向迭代器

3 个答案:

答案 0 :(得分:6)

是的bidirectional iterator

n3337 23.3.5.1/1

列表是支持双向迭代器的序列容器

答案 1 :(得分:3)

它是双向的,因为你仍然可以使用++和 - 。如果你只能做++它是一个前向迭代器(参见std :: forward_list)。

答案 2 :(得分:0)

好吧,我的大多数问题本身都是错误的。经过长时间的C ++参考研究,我明白了。既然我的问题没有多大意义,我会自己回答。vector<double>::iterator返回一些东西没有意义。它是一个类型 .C ++标准库大量使用类中的typedef来别名其他类型。

所以vector<double>:iterator是一个类型。更准确地说,它是一个别名(使用typedef)。在vector<double>::iterator的情况下,别名为random-access Iterator类型。如果是list<double>::iteratoriteratorbi-directional类型迭代器的别名。

这也类似于vector<double>::size_type,其中size_typesize_t类型的别名

的类型

typedef size_t size_type类中存在vector<double>

如果您发现任何误解或错误。请澄清。