MST

星途 面试题库

面试题:C++ 中动态数组内存管理

在 C++ 中,使用 new[] 创建了一个动态数组 int* arr = new int[10]; 请描述如何正确释放这个动态数组的内存,以及如果忘记释放会导致什么问题。
25.5万 热度难度
编程语言C++

知识考点

AI 面试

面试题答案

一键面试
  1. 正确释放内存: 使用 delete[] 操作符来释放通过 new[] 创建的动态数组。代码如下:
int* arr = new int[10];
// 使用数组
delete[] arr;
  1. 忘记释放导致的问题
    • 内存泄漏:如果忘记释放动态分配的数组内存,这部分内存将一直被占用,无法被其他程序使用,随着程序中多次出现这种未释放内存的情况,会逐渐耗尽系统内存资源,导致程序运行越来越慢,最终可能使系统内存不足,甚至崩溃。
    • 资源浪费:程序占用不必要的内存空间,降低了系统整体的资源利用效率,可能影响其他同时运行的程序的性能。