析构

发布时间:2025-12-09 12:02:08 浏览次数:16

当我们新建一个类的实例时,构造函数会被调用,当我们这个实例被销毁时,析构函数被调用。构造函数是将需要用到的东西进行初始化,那么同样的,析构函数是与初始化相反的过程,用来清空内存以便于接下来使用。对应的,如果使用new来申请空间,那么需要用delete来进行析构,如果只是基于堆栈来进行空间申请,那么当实例被删除的时候,析构函数就会被调用。

#include<iostream>class Entity{public:    float X,Y;    Entity()    {        X=0.0f;        Y=0.0f;        std::cout<<"Created Entity!"<<std::endl;    }    ~Entity()    {        std::cout<<"Destoryed Entity!"<<std::endl;    }    void Print()    {        std::cout<<X<<","<<Y<<std::endl;    }};void Function(){    Entity e;    e.Print();}int main(){    Function();    std::cin.get();}

设置断点进行单步调试会发现,当执行语句Entity e时,调用构造函数,当执行完Function()后,调用析构函数。析构函数与可以手动执行,,将Function函数如下修改

void Function(){    Entity e;    e.Print();    e.~Entity();}

但是手动调用其实并不常见。

析构
需要做网站?需要网络推广?欢迎咨询客户经理 13272073477