c++析构函数delete
时间: 2023-08-27 19:05:34 浏览: 96
C++中的new/delete、构造/析构函数、dynamic_cast分析
C++中的析构函数通常用于清理对象创建时分配的资源,例如堆内存、文件句柄等等。如果在对象创建时使用了new关键字分配堆内存,那么在析构函数中需要使用delete关键字释放这些内存。例如:
```
class MyClass {
public:
MyClass() {
// 在构造函数中分配堆内存
ptr = new int[10];
}
~MyClass() {
// 在析构函数中释放堆内存
delete[] ptr;
}
private:
int* ptr;
};
```
在上面的例子中,MyClass对象创建时会分配一个包含10个整数的数组,并在对象销毁时通过析构函数释放该数组占用的堆内存。这样做可以防止内存泄漏,确保程序能够正常运行。
阅读全文