Возможный дубликат:
Почему я предпочитаю использовать вектор для deque
Мне любопытно, почему std::vector
гораздо более популярен, чем std::deque
. Deque почти так же эффективен в поиске, более эффективен при вставке (без vector:: reserve) и позволяет вставлять/удалять спереди.
Трава Саттер однажды рекомендовала если вы хотите использовать вектор, просто предпочитаете deque (я перефразирую). Однако в недавнем разговоре о Написание Modern С++ он настоятельно рекомендует думать о std::vector
как контейнере по умолчанию. Согласно GOTW, который я связал ранее, даже стандарт имеет аналогичную формулировку.
Есть ли причина такого несоответствия? Это просто, что vector
является более простым и более известным, или существует техническая причина? Или это, что vector
- просто более холодное имя..?