【发布时间】:2014-11-30 07:07:57
【问题描述】:
在 C++11 中,它允许您像这样创建 0 长度 C 数组和 std:array:
int arr1[0];
std::array arr2<int,0>;
- 所以我在想没有空间存储的数组有什么用?
- 其次,什么是零长度数组?如果是指针,它指向哪里?
【问题讨论】:
-
不,C++ 不允许零长度数组。即使有,也不是指针。
-
@NayanaAdassuriya:是的,许多编译器(包括 GCC)都有扩展。如果您想坚持符合标准的代码,请使用
-pedantic(甚至-pedantic-errors)进行编译。 -
长度为 0 的数组确实有一个指针。只是不要尝试给它写信。
-
@MikeSeymour:没有零长度数组type。但是,肯定有零长度数组:
new int[0]是有效的。