执行以下操作是否安全和/或良好做法?
//NewList is a member function of a class
void NewList(int size){
delete[] list; //list is a member variable; an already initialized dynamic array.
list=new ListObject[size];
}
我基本上放弃了以前的数组,因为我将使用不同的数据存储在类中,因此需要一个新的 list
来存储关于新数据的其他信息。如果这不是好的做法,还有什么替代方案?
最佳答案
这取决于。每次用new创建一个对象,用完一定要删除。在给定的函数中,您正在删除以创建一个新函数,但是一旦您完成了该对象,您是否也在删除?创建对象并在对象超出范围时让系统删除它会更安全。
如果可能的话,我会避免,因为如果不正确删除,可能会造成内存泄漏。
关于c++ - 在 `delete` 之后重用一个指针,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28379457/