Какой основной недостаток std::vector?

Какой основной недостаток std::vector?


Такой вопрос мне задали пару лет назад на собеседовании. Я перечислил несколько недостатков, но, по мнению собеседуемого, основной недостаток так и не назвал. Прошло несколько лет, но ответ на этот вопрос я так и не «придумал». Или это вопрос с подвохом был?
  • Вопрос задан
  • 6002 просмотра
Пригласить эксперта
Ответы на вопрос 6
Horse
@Horse
А какие недостатки вы уже назвали?
Ответ написан
Комментировать
@BaJlepa
прошу извинить
вот так лучше

std::vector<double> v = { 1, 2, 3.456, 99.99 };
Ответ написан
Комментировать
Rzhepish
@Rzhepish
Долго инициализируется.
Ответ написан
kashey
@kashey
Программирую большую половину жизни
Основной недостаток вектора — reallocate.
Это — именно что основной, я бы даже сказал корневой, но можно создать с заранее превышеным размером. Часто помогает.
Что у него долгая инициализация — даже и не знал — nedmalloc ( и компания ) спасет отцов русской демократии.
Ответ написан
Комментировать
@BaJlepa
например пару лет назад нельзя было инициализировать с помощью
Ответ написан
@mihaildemidoff
Если сравнивать vector с обычным массивом, то есть, на мой взгляд, 2 основных недостатка:
1) Скорость работы vectora в целом
2) Объем занимаемой памяти по сравнению с обычным массивом
Конечно в ряде случаев этими вещами можно пренебречь, но где-то это может быть очень критично. Также, все естественно зависит от прямоты рук программиста, так как владение STL в целом требует немалых знаний и умений.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы