std::array<int,0>
拥有大小为零的数组是什么意思?
在发布此之前,我已经在 SO 中解决了类似的问题,所有这些问题都是关于简单数组类型和 C 语言的,其中大多数都说这是非法的。但在 C++array<int,0>
中是允许的。
根据 cppreference.com
零长度数组(N == 0)有一种特殊情况。在这种情况下,
array.begin() == array.end()
,这是一些独特的价值。调用front()
orback()
对大小为零的数组的影响是未定义的。
为什么不定义为非法?