c++delete如何使用
时间: 2024-09-06 09:07:57 浏览: 45
C++中delete和delete[]的区别
5星 · 资源好评率100%
在C++中,`delete`关键字用于动态内存管理,主要用于释放由`new`运算符分配的对象。`delete`有两个主要形式:
1. `delete`表达式:当你动态创建了一个对象并且知道它的地址时,可以使用这个形式来删除它。
```cpp
MyClass* obj = new MyClass(); // 创建对象
// ... 对象使用
delete obj; // 删除对象,确保匹配new的分配
```
如果忘记释放对象,可能会导致内存泄漏。务必记得,每个`new`对应一个`delete`。
2. `delete[]`表达式:当你使用`new[]`分配了一块动态数组时,应使用`delete[]`来释放它。
```cpp
MyClass* arr = new MyClass[5]; // 分配数组
// ... 数组使用
delete[] arr; // 释放整个数组
```
**注意事项**:
- 使用`delete`之前需要确保指针确实指向的是`new`返回的内存,或者是已经正确的堆内存,否则可能导致程序崩溃。
- 不要在析构函数或线程终止的情况下使用`delete`,因为这些时机可能不是在对象生命周期的正常结束点。
阅读全文