我正在阅读标准N3337和脚注79(第110页的5.3.7节)中的状态草案(重点是我):



我的印象是C++不支持零长度数组。

最佳答案

据我了解,这是为了允许malloc实现新功能,而malloc允许零大小的请求。您不能对它们做太多事情,因为如下面引文中所述,取消引用此类指针是未定义的行为。

我们可以在3.7.4.1 [basic.stc.dynamic.allocation]部分引用的C++标准脚注草案35中找到基本原理:



脚注35说:



从C11草案标准部分7.22.3内存管理功能:

08-27 05:37