C++STLでよく使われるコンテナの下付き[]演算

735 ワード

C++STLでよく使用されるコンテナとタイプですが、下の[]演算をサポートするものはどれですか?
正解:A C D F Iあなたの答え:B H I(間違い)
vector
list
deque
map
set
unordered_map
unordered_set
stack
string

ACDFI
vector:ランダムアクセス反復器、複雑度O(1)
deque:同上,O(1)
map:双方向反復器ですが、関連コンテナなのでkeyでalueにアクセスする方法が必要です.O(h)、hはツリーの高さです.
unordered_map:前方反復器,同様に,複雑度O(1),最悪O(n)を並べ替え,ハッシュ関数の良し悪しにも関係した.
string:同vector
ランダムアクセスをサポート[]
「dequeは双方向キューであり、高速ランダムアクセスをサポートし、ヘッダーの最後に挿入または削除する速度が速い.」-『C++Primer第5版』
したがってdequeはインデックス[]演算をサポートします