我正在阅读标准N3337和脚注79(第110页的5.3.7节)中的状态草案(重点是我):
我的印象是C++不支持零长度数组。
最佳答案
据我了解,这是为了允许malloc实现新功能,而malloc允许零大小的请求。您不能对它们做太多事情,因为如下面引文中所述,取消引用此类指针是未定义的行为。
我们可以在3.7.4.1
[basic.stc.dynamic.allocation]部分引用的C++标准脚注草案35中找到基本原理:
脚注35说:
从C11草案标准部分7.22.3
内存管理功能: