首页 > 解决方案 > 我应该释放一个 0 大小的动态数组吗?

问题描述

您好,我有一个简单的例子:由于 C++ 允许类型为 0 大小的动态数组,T那么我该如何释放它?

a = new int[0];
delete[] a;// UB?

正如您在上面看到的,C++ 编译器现在不涉及动态数组大小,0因此代码可以正常工作。我也知道这个数组a作为过去结束指针工作,因此它既不能取消引用也不能增加/减少。

标签: c++dynamic-arrays

解决方案


推荐阅读