21xrx.com
2024-06-03 05:59:55 Monday
登录
文章检索 我的文章 写文章
C++如何释放数组空间?
2023-07-05 06:08:48 深夜i     --     --
C++ 释放 数组 空间

C++中动态分配的数组空间必须手动释放,否则会造成内存泄漏。释放数组空间的方法有以下几种:

1. 使用delete[]释放空间

使用new[]动态分配的数组空间可以使用delete[]释放。语法如下:


int* arr = new int[5]; // 分配5个整数的数组空间

// 使用arr数组进行操作

delete[] arr; // 释放arr数组空间

2. 使用free()释放空间

使用malloc()动态分配的数组空间可以使用free()释放。语法如下:


int* arr = (int*)malloc(5 * sizeof(int)); // 分配5个整数的数组空间

// 使用arr数组进行操作

free(arr); // 释放arr数组空间

3. 使用unique_ptr释放空间

C++11引入了智能指针unique_ptr,可以自动释放动态分配的数组空间,避免手动释放时出现的错误。语法如下:


std::unique_ptr<int[]> arr(new int[5]); // 分配5个整数的数组空间

// 使用arr数组进行操作

// 离开作用域时会自动调用其析构函数,释放arr数组空间

总之,释放数组空间时要确保没有出现内存泄漏的情况,同时也要注意避免重复释放引起的错误。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复