Сведения о вопросе

SOON

02:09, 12th August, 2020

Теги

C++    

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

Просмотров: 305   Ответов: 6

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


Такой вопрос мне задали пару лет назад на собеседовании. Я перечислил несколько недостатков, но, по мнению собеседуемого, основной недостаток так и не назвал. Прошло несколько лет, но ответ на этот вопрос я так и не «придумал». Или это вопрос с подвохом был?



  Сведения об ответе

pumpa

07:50, 4th August, 2020

А какие недостатки вы уже назвали?


  Сведения об ответе

PAGE

09:00, 11th August, 2020

прошу извинить
вот так лучше

std::vector<double> v = { 1, 2, 3.456, 99.99 };


  Сведения об ответе

dump

14:35, 18th August, 2020

Долго инициализируется.


  Сведения об ответе

FAriza

06:27, 15th August, 2020

Основной недостаток вектора — reallocate.
Это — именно что основной, я бы даже сказал корневой, но можно создать с заранее превышеным размером. Часто помогает.
Что у него долгая инициализация — даже и не знал — nedmalloc ( и компания ) спасет отцов русской демократии.


  Сведения об ответе

dump

13:16, 13th August, 2020

например пару лет назад нельзя было инициализировать с помощью


  Сведения об ответе

LIZA

18:08, 15th August, 2020

Если сравнивать vector с обычным массивом, то есть, на мой взгляд, 2 основных недостатка:
1) Скорость работы vectora в целом
2) Объем занимаемой памяти по сравнению с обычным массивом
Конечно в ряде случаев этими вещами можно пренебречь, но где-то это может быть очень критично. Также, все естественно зависит от прямоты рук программиста, так как владение STL в целом требует немалых знаний и умений.


Ответить на вопрос

Чтобы ответить на вопрос вам нужно войти в систему или зарегистрироваться