Я искал StackOverflow, но не смог найти ответ на этот вопрос.
Предположим, что у меня есть std::vector<Day *> vector_day
- то есть - вектор указателей на объект Day
. Теперь я push_back
to vector_day
много элементов:
vector_day.push_back(new Day(12));
vector_day.push_back(new Day(99));
vector_day.push_back(new Day(71));
...
Теперь в какой-то момент мне больше не нужно vector_day
. Каков правильный способ освободить память?
Это верно:
for (std::vector<Day *>::iterator i = vector_day.begin(); i != vector_day.end(); ++i) {
delete *i;
}
Не делает ли это аннулирование вектора при каждом удалении? Я очень смущен.