用delete运算符回收为矩形动态分配的存储空间
时间: 2024-11-15 16:34:23 浏览: 9
用new和delete运算符动态分配内存空间的方法编写程序。
4星 · 用户满意度95%
在C++中,当你使用`new`关键字为矩形动态分配内存后,如果你不再需要这块内存,应使用`delete`运算符来释放它,以防止内存泄漏。`delete`是对`new`操作的一个对应操作,用于删除由`new`创建的对象。以下是基本的用法:
```cpp
// 动态分配矩形对象
Rectangle* rectangle = new Rectangle(width, height);
// 现在矩形对象已经被创建并初始化,如果不再需要它...
// 使用delete释放内存
delete rectangle;
// 注意,矩形指针现在已无意义,不应再使用
```
这里的`Rectangle`是一个假设的类,你需要确保调用`delete`的是指向正确类型的指针。如果没有正确地释放,可能导致未定义的行为。此外,`delete`仅适用于`new`操作返回的指针,如果是数组,应该使用`delete[]`:
```cpp
Rectangle* rectangleArray[5] = {new Rectangle(width, height) ...};
for (int i = 0; i < 5; ++i) {
delete rectangleArray[i]; // 对每个元素单独释放
}
delete[] rectangleArray; // 同时释放整个数组
```
阅读全文