Код: Выделить всё
vector a {1, 2, 34, 1222, 0};
Код: Выделить всё
a.push_back(data);
Я изучаю C++ по книге. В книге говорится: «Для добавления элемента иногда может потребоваться выделение дополнительного хранилища. В этом случае каждый элемент должен быть перемещен в новое хранилище», C++ Ressources Network добавляет, что «это относительно дорогая задача с точки зрения времени обработки». Я также нашел статью на эту тему.
Однако моя программа должна быть очень быстрой. Значит, я не могу справиться с этим «перераспределением» своего вектора. Фактически размер моего вектора может превышать 1 ГБ памяти.
Мой вопрос довольно прост:
Как я могу узнать оставшуюся память перед перераспределением моего огромного вектора?
Примечание: Я не знаю окончательный размер моего вектора, поэтому не могу его инициализировать, сохранив необходимую память.
Скажите мне если у вас есть вопросы или комментарии.
Подробнее здесь: https://stackoverflow.com/questions/499 ... g-vector-c
Мобильная версия