1. ホーム
  2. c++

[解決済み] なぜdequeよりvectorを使う方がいいのか

2023-04-14 20:13:25

疑問点

では

  1. は両方とも連続したメモリ コンテナです。
  2. 機能面では、deque は vector が持つほぼすべての機能を持ちますが、前面への挿入がより効率的であるため、より多くの機能を持ちます。

なぜ誰もが std::vector から std::deque ?

どのように解決するのですか?

の要素は deque ではなく はメモリ上で連続したものではありません。 vector 要素は連続であることが保証されています。ですから、連続した配列を必要とするプレーンなCライブラリとのやり取りが必要な場合や、空間的な局所性を(かなり)重視する場合には vector . さらに、いくつかの余分な簿記があるため、他のオペレーティングシステムは、おそらく同等の vector 操作よりも高くなります。一方、多くの/大きなインスタンスを使用することで vector への呼び出しが遅くなる)ことがあります。 new ).

また、指摘されているように の他の場所で指摘されているように、StackOverflow の にもあるように、ここでも良い議論が行われています。 http://www.gotw.ca/gotw/054.htm .