我不确定这个命令delete
在 C++ 中到底做什么?据我所知,为了释放内存delete
,我必须在我之前用 实例化的对象上使用new
,例如:
Obj* object = new Obj();
delete object;
Run Code Online (Sandbox Code Playgroud)
但delete
实际上是否从我的对象中删除了数据,它是否以任何方式改变了对象和对象本身内部的数据,或者它只是调用相应的析构函数?如果析构函数为空,则使用会对delete
对象产生任何后果吗?这个问题的原因如下:
如果我只是以这种方式删除对象,指针就会无效,并且我的程序会崩溃。因此,我认为我应该使用删除命令调用析构函数,并在析构函数内部采取进一步的步骤来实际进行清理,并确保引用该对象的其他对象知道该指针确实无效。
归档时间: |
|
查看次数: |
675 次 |
最近记录: |