我知道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 Iterator
list<double>::iterator
iterator
bi-directional
这也类似于vector<double>::size_type
where size_type
is a type ,它是 type 的size_t
别名
即typedef size_t size_type
在vector<double>
课堂上。
如果您发现任何误解或错误。请澄清。