177 字
1 分钟
C++入门 (十) : 析构函数
2026-03-17

析构函数在销毁类对象时运行.

堆上的对象和栈上的对象都会调用析构函数,堆上的对象是在delete时调用,栈上的对象是在作用域结束时自动调用

class Entity
{
public:
float X, Y;
Entity(){
X = 0.0f;
Y = 0.0f;
std::cout << "Constructed Entity" << std::endl;
}
~Entity(){ //析构函数
std::cout << "Destoryed Entity" << std::endl;
}
void Print()
{
std::cout << X << "," << Y << std::endl;
}
};
void Function(){
Entity e; //栈分配的类对象,调用构造函数
e.Print(); // 0,0
//对象离开作用域,调用析构函数
}
int main()
{
Function();
std::cin.get();
};

结果是:

析构函数很少进行手动调用,如果你想手动调用可以这样:

e.~Entity();
C++入门 (十) : 析构函数
https://dingfengbo.vercel.app/posts/c入门/10-c析构函数/
作者
Eureka
发布于
2026-03-17
许可协议
CC BY-NC-SA 4.0