在C++中,delete
关键字用于释放动态分配的内存和销毁对象。它有两种主要的用法:
new
运算符动态分配内存时,必须使用delete
运算符来释放该内存,防止内存泄漏。例如:int* ptr = new int; // 动态分配一个整数的内存
// 使用ptr
delete ptr; // 释放内存
new
运算符创建一个对象时,对象的析构函数将在对象生命周期结束时自动调用。然而,如果我们要提前销毁对象并释放其内存,可以使用delete
运算符。例如:MyClass* obj = new MyClass; // 动态创建一个MyClass对象
// 使用obj
delete obj; // 销毁对象并释放内存
需要注意的是,使用delete
运算符释放内存时,必须确保释放的内存是通过new
运算符动态分配的。否则,行为是未定义的。另外,要避免重复释放同一块内存,这也会导致未定义的行为。