26 析构函数

26 析构函数 Destructor

定义

与构造函数相反,析构函数在销毁对象时运行。是一个特殊的函数或方法

  1. 构造函数通常设置变量或其他的初始化;析构函数卸载量,清理使用过的内存
  2. 析构函数适用于堆和栈分配的对象 。
  3. 栈分配的,只有主函数结束时候,析构函数才会被调用
  4. 写析构函数能够防止内存的泄露。
  5. 涉及到堆和栈的相关信息,可以学习之后回头来看。

代码说明

class Entity
{
public:
    float X, Y;
    Entity()  //construct function 初始化
    {
        std::cout << "created  Entity!" << std::endl;
        X = 5.0f;  
        Y = 5.0f;
    }
    ~Entity() //destruct 析构函数
    {
        std::cout << "destroyed  Entity!" << std::endl;
    }
    void print()
    {
        std::cout << X << "," << Y << std::endl;
    }
};
void function()     //栈分配的,只有主函数结束时候,析构函数才会被调用  
                    //所以在这里定义一个function执行析构函数相关指令,否则在主函数结束后,啥也观测不到
{
    Entity e;        //加个断点,就可以看到析构函数在作用域结束后调取
    e.print();
}
int main()
{
    function();
    
    std::cin.get();
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值