可能的重复:
C++:删除这个?
面向对象自杀或删除此;
我正在通过阅读非常好的书 C++ Primer 来学习 C++,并且我正在学习 C++ 如何通过delete
关键字来释放内存,就像 C 对free
. Java 和 Pascal 没有这种显式释放内存的机制。如果程序运行很长时间并且需要的变量被破坏,则可能会导致程序错误,因此不应轻视。
简而言之,我想知道例如在 C++ 中让变量执行this.delete()
和删除自身是否合法或可取。我们大多听说过在 C 和 C++ 中释放指针,这是通过 newfree
和delete
关键字完成的。Pascal 也有指针,但 Java 没有。所以在Java中它不应该是不可能的,因为你没有明确地删除对象,C没有对象,所以即使技术上可行,它struct
也不能free
分配内存,因为C没有对象,Pascal也没有。
所以我想这让 C++ 成为我的问题,一个对象用类似的东西删除自己是否合法this.delete()
?