как уже заявили другие пользователи:
Преждевременная оптимизация - корень зла
Дональд Кнут
У меня есть другое предложение, использующееrealloc
: в C ++ STL контейнер std::vector
увеличивается каждый раз, когда вставляется объект, и недостаточно свободного места.Размер увеличения зависит от текущего предварительно выделенного размера, но зависит от конкретной реализации.Например, вы можете сохранить фактическое количество предварительно выделенных объектов.Если размер заканчивается, вы вызываете reallocate
с двойным количеством места, выделенным в данный момент.Я надеюсь, что это было несколько понятно!
Предостережение, конечно, заключается в том, что вы, вероятно, выделите больше места, чем вы на самом деле будете потреблять и нуждаться.