Выбор между вектором::resize() и вектором::reserve()C++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Выбор между вектором::resize() и вектором::reserve()

Сообщение Anonymous »

Я заранее выделяю некоторую память для своего элемента данных вектор. Пример:

Код: Выделить всё

class A {
vector t_Names;
public:
A () : t_Names(1000) {}
};
В какой-то момент, если t_Names.size() будет равно 1000, я собираюсь увеличить размер на 100. Как только оно достигнет 1100, увеличьте его на 100 и так далее.
Что я выберу из вектора::resize() и вектора? ::резерв()? Есть ли лучший выбор в таком сценарии?
Изменить: у меня есть точная оценка для t_Names. По моим оценкам, это примерно от 700 до 800. Однако в определенных (редко) ситуациях оно может вырасти более чем на 1000.

Подробнее здесь: https://stackoverflow.com/questions/739 ... torreserve
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»