Skip to content

Latest commit

 

History

History
50 lines (35 loc) · 1005 Bytes

026-析构函数.md

File metadata and controls

50 lines (35 loc) · 1005 Bytes

026-析构函数

和构造函数相反,在对象被销毁时调用,无论对象在栈上或者堆上创建

可以在析构函数里面释放一些内容

析构函数的名称为

~类名

和构造函数差不多,就是构造函数前面加了个~

#include <iostream>

class Entity {
public:
    Entity() {
        std::cout << "构造函数调用" << std::endl;
    }

    ~Entity() {
        std::cout << "析构函数调用" << std::endl;
    }
};

void test() {
    Entity entity;
}

int main() {
    test();
    return 0;
}
F:\Projects\ClionProjects\test\cmake-build-debug-cygwin\test.exe
构造函数调用
析构函数调用

进程已结束,退出代码为 0

因为对象在栈上创建,所以退出test函数的时候,创建的对象就会被析构~

另外:这个析构函数,可以手动调用,但不建议这么写,要不它会被调用两次...


https://www.bilibili.com/video/BV1et4y1k7Sc