deque 解答ページ | Programming Place Plus C++編【標準ライブラリ】 第7章

トップページC++編

C++編で扱っている C++ は 2003年に登場した C++03 という、とても古いバージョンのものです。C++ はその後、C++11 -> C++14 -> C++17 -> C++20 と更新されており、今後も 3年ごとに更新されます。
なかでも C++11 での更新は非常に大きなものであり、これから C++ の学習を始めるのなら、C++11 よりも古いバージョンを対象にするべきではありません。特に事情がないなら、新しい C++ を学んでください。 当サイトでは、C++14 をベースにした新C++編を作成中です。

問題①

問題① deque は vector と酷似したインターフェースを備えています。deque を使った方が良いと思われる場面と、vector を使った方が良いと思われる場面をそれぞれ考えてみてください。


deque の場合は、先頭と末尾への要素の追加・削除が高速に行えるので、そのような操作を頻繁に行う場合は deque を使った方が良いです。一方で、添字を使った直接アクセスは、vector よりもやや遅くなるので、直接アクセスすることがない(あるいは少ない)使い方が望ましいです。

一方で、deque は「容量」を制御できません。メモリの使用量を管理しなければならない場合は、deque は不向きでしょう。

ただしいずれにしても、性能面が重要であるならば、必ず実測に基づいて判断するべきです。データの個数や大きさ・内容や、追加や削除の行われ方などによって、(良くも悪くも)想像とは違った性能を生むことがあります。


参考リンク


更新履歴

’2015/1/24 新規作成。



第7章のメインページへ

C++編のトップページへ

Programming Place Plus のトップページへ



はてなブックマーク に保存 Pocket に保存 Facebook でシェア
X で ポストフォロー LINE で送る noteで書く
rss1.0 取得ボタン RSS 管理者情報 プライバシーポリシー
先頭へ戻る