在这里,我们将看到析构函数和free()
C ++中的函数之间的区别是什么。在销毁对象之前,析构函数用于执行某些操作。此操作可能不会释放内存,但是可以执行一些简单的操作,例如在屏幕上显示一条消息。
该free()
函数用在C中,在C ++中,我们也可以使用delete关键字执行相同的操作。使用free()
或删除对象时,将调用析构函数。析构函数不接受任何参数,也不返回任何值。当使用free或delete或对象超出范围时,将调用此函数。
#include<iostream> #include<cstdlib> using namespace std; class MyClass { public: ~MyClass() { cout << "Destructor of MyClass" << endl; } }; int main() { MyClass *obj; obj = new MyClass(); delete obj; }
输出结果
Destructor of MyClass
有时,该free()
函数可能不调用析构函数,而是从内存中删除内容。因此,这里我们使用delete关键字代替free()
。