use*_*164 6 c++ memory-management
做以下事情是否安全和/或良好做法?
//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];
}
Run Code Online (Sandbox Code Playgroud)
我基本上丢弃了之前的数组,因为我将使用不同的数据存储在类中,因此需要new list来存储新数据的其他信息.如果这不是一个好的做法,那么替代方案是什么?
这取决于。每次用new创建一个对象,使用完后必须删除它。在给定的函数中,您要删除以创建新函数,但是在完成对象后是否也会删除?创建对象并在对象超出范围时让系统将其删除会更安全。
如果可能的话我会避免,因为如果不正确删除,可能会造成内存泄漏。
| 归档时间: |
|
| 查看次数: |
4209 次 |
| 最近记录: |