我知道vector<double>::iterator返回随机访问迭代器类型。返回的迭代器类型是list<double>::iterator什么。它是双向迭代器吗?
3 回答
是的bidirectional iterator。
n3337 23.3.5.1/1
列表是支持双向迭代器的序列容器
它是双向的,因为您仍然可以在其上使用 ++ 和 -- 。如果你只能做 ++ 它是一个前向迭代器(见 std::forward_list )。
好的,我的大部分问题本身都是错误的。经过长时间的 C++ 参考研究,我明白了。由于我的问题没有多大意义,我会自己回答。vector<double>::iterator返回一些东西是没有意义的。它是一个类型.C++ 标准库,在类中大量使用 typedef 来给其他类型起别名。
类型也是如此vector<double>:iterator。更准确地说,它是一个别名(使用 typedef)。在 的情况下,别名是类型。在 的情况下,vector<double>::iterator是类型迭代器的别名。random-access Iteratorlist<double>::iteratoriteratorbi-directional
这也类似于vector<double>::size_typewhere size_typeis a type ,它是 type 的size_t别名
即typedef size_t  size_type在vector<double>课堂上。
如果您发现任何误解或错误。请澄清。