我在 StackOverflow 上搜索了这个问题的答案,但没有找到。
假设我有一个 std::vector<Day *> vector_day
——也就是指向 Day
对象的指针的向量。现在我要向 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;
}
这样做不会使得每次删除的向量都无效吗?我很困惑。