我知道vector<double>::iterator
返回随机访问迭代器类型。list<double>::iterator
返回的迭代器类型是什么。它是双向迭代器
答案 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>::iterator
,iterator
是bi-directional
类型迭代器的别名。
这也类似于vector<double>::size_type
,其中size_type
是size_t
类型的别名
即typedef size_t size_type
类中存在vector<double>
。
如果您发现任何误解或错误。请澄清。