c++中析构函数符号 ~

271 阅读1分钟

在 C++ 中,~ 是析构函数的符号。析构函数是一种特殊的成员函数,在对象生命周期结束时被自动调用,用于清理对象所占用的资源或执行其他清理操作。析构函数的名称由波浪号 ~ 后跟类名构成,没有参数和返回类型。

通常情况下,析构函数用于释放对象在构造函数中分配的资源,比如动态分配的内存、打开的文件等。例如:

class MyClass {
public:
    // 构造函数
    MyClass() {
        // 分配动态内存
        data = new int[10];
    }

    // 析构函数
    ~MyClass() {
        // 释放动态内存
        delete[] data;
    }

private:
    int* data;
};

int main() {
    MyClass obj; // 创建对象
    // 对象生命周期结束时,析构函数会自动调用
    return 0;
}

在这个示例中,MyClass 类包含了构造函数和析构函数。在构造函数中,它分配了一个包含 10 个整数的动态数组。在析构函数中,它释放了动态分配的内存。当 obj 对象生命周期结束时(在 main 函数的末尾),析构函数会自动调用,释放动态内存,确保资源的正确释放。