所以我有一个这样的指针 vector :
vector<Example*> ve;
我用这样的指针填充这个 vector
Example* e = new Example();
ve.push_back(e)
但是当我想删除它们时,我如何确保它们被释放? 够了吗?
ve.erase(ve.begin() + 1)
delete ve[1]
最佳答案
当然,你必须反过来做:
delete ve[1];
ve.erase(ve.begin() + 1);
但是,在表达所有权时,使用智能指针(例如 std::unique_ptr
)比使用原始指针要好得多。
关于c++ - 如何释放指针 vector 中的元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16542623/