构造函数一般用于创建实例或初始化,而析构(destructor)函数则是在销毁一个对象时使用的。析构函数可以用在释放任何内容或需要清理内存空间的场景。
举个例子
#include <iostream>
class Entity
{
public:
float X, Y;
Entity()
{
X = 0.0f;
Y = 0.0f;
std::cout << "Created Entity!" << std::endl;
}
~Entity()
{
std::cout << "Destroyed Entity!" << std::endl;
}
void Print()
{
std::cout << X << "," << Y << std::endl;
}
};
void Function()
{
Entity e;
e.Print();
}
int main()
{
Function();
std::cin.get();
}
创建析构函数的方式是在函数名之前加一个~
,其余的与构造函数的形式相同。运行上述代码,会得到如下结果。
Created Entity!
0,0
Destroyed Entity!
由于对象是在栈上创建的,所以当作用域结束时,即运行完Function()
时,就将被销毁。因此,控制台上就会打印"Destroyed Entity!"。
析构函数本质上就是一个在对象被销毁时会被调用的特殊的方法,常被用于防止内存泄漏。`
教程来源:The Cherno C++ 教程
标签:销毁,函数,笔记,Entity,C++,析构,构造函数 From: https://blog.csdn.net/m0_59669215/article/details/140193076