<分区>
Possible Duplicates:
C++: Delete this?
Object-Oriented Suicide or delete this;
我正在通过阅读非常好的书 C++ Primer 来学习 C++,我正在学习 C++ 如何通过 delete
关键字释放内存,就像 C 使用 free
一样。 Java 和 Pascal 没有这种显式释放内存的机制。如果程序运行时间过长,可能会导致程序出错,并且需要的变量会被破坏,因此不应将其简单化。
简而言之,我想知道在 C++ 中,变量执行 this.delete()
并删除 自身 是否合法或可取。我们大多听说过 C 和 C++ 中的释放指针,这是通过新的 free
和 delete
关键字完成的。 Pascal 也有指针,但 Java 没有。所以在 Java 中它应该是不可能的,因为你没有显式删除对象,C 没有对象所以 struct
不能 free
它被分配的内存,即使这在技术上是可行的,因为 C 没有对象,Pascal 也没有。
所以我想我的问题留给 C++ 了,对象使用 this.delete()
之类的方法删除自身是否合法?