我在类的析构函数中删除类属性时遇到问题,如果我尝试在经典的程序程序中做同样的事情,它可以完美地工作。
但是,如果我尝试执行析构函数下方的代码,则不会delete
“数组”并且不会释放内存:
class MyClass
{
private:
int *array;
int n = 2000000;
public:
MyClass(){
this->array = new int[n];
for(int i=0; i<n; i++){
array[i] = i;
}
}
~MyClass(){
delete[] array;
}
};
int main(int argc, const char * argv[])
{
MyClass *test = new MyClass;
delete test;
return 0;
}
为什么?