がランダム アクセス イテレータタイプを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
これは、 typeのエイリアスであるvector<double>::size_type
where size_type
is a type にも似ています。size_t
つまり、クラスtypedef size_t size_type
に存在しvector<double>
ます。
誤解や間違いを見つけた場合は、明確にしてください。