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