动态分配大小为0的数组

时间:2010-02-19 09:34:14

标签: c++ arrays memory-management

  

可能重复:
  C++ new int[0] — will it allocate memory?

当我这样做时会发生什么:

int * MakeArray( std::size_t Size ) {
    return new int[ Size ];
}

MakeArray( 0 );

我们有这个代码(使用VC ++ 2005),而调试堆抱怨一个大小为0的内存块没有被释放。在这里返回大小为0的数组是否标准?

P.S。:请不要告诉我在分配前使用矢量或检查尺寸,我知道所有这些。这不是我的代码。我只是好奇。

1 个答案:

答案 0 :(得分:1)

this question非常相似。答案是它应该工作