QList vs QVector повторно

Мой вопрос в основном, когда выбиратьQVector и когда выбратьQList как ваш контейнер Qt. Что я уже знаю:

Qt docs:Класс QList

Для большинства целей QList является правильным классом для использования. Его API, основанный на индексах, более удобен, чем API, основанный на итераторах QLinkedList, и, как правило, он быстрее, чем QVector, из-за способа хранения своих элементов в памяти. Это также расширяет область кода в вашем исполняемом файле.

Так же написано это очень популярный вопрос и ответ:QVector против QList, Это также одобряет QList.

Но: на недавнем Qt World Summit 2015 KDAB представил «Почему QList вреден», это в основном здесь:

QList считается вредным

Не используйте QList, используйте Q_DECLARE_TYPEINFO

Насколько я понимаю, идея в том, чтоQList почти все типы неэффективны при размещении новых элементов в куче. Каждый раз, когда вы добавляете новый элемент, он вызываетnew (один раз на элемент), и это неэффективно по сравнению сQVector.

Вот почему сейчас я пытаюсь понять: этоQVector который мы должны выбрать в качестве контейнера по умолчанию?

Ответы на вопрос(7)

Ваш ответ на вопрос