Когда вы предпочитаете использовать std :: list <T>вместо std :: vector <T>? - PullRequest
27 голосов
/ 20 февраля 2011

Я никогда не использовал std::list<T> сам.Мне было интересно, когда люди используют его, когда у нас уже есть std::vector<T>, который похож на массивы с непрерывной памятью.std::vector кажется идеальным выбором, когда нам нужен последовательный контейнер!

Так что мой вопрос

  • Когда именно вы предпочитаете std::list над std::vector?а почему именно?
  • Когда вы предпочитаете std::vector над std::list?и почему?

Если есть соображения производительности, то, пожалуйста, перечислите их также с подробным объяснением / информацией.

Если возможно, укажите несколько ссылок, чтобы поддержать ваш ответ.

Ответы [ 11 ]

0 голосов
/ 20 февраля 2011

Вы должны использовать список, когда вы делаете много удалений / вставок.

Вектор можно использовать, если общий размер элементов не сильно меняется, и если вы меняете местами.

...