3
为什么数组的维是其类型的一部分?
在阅读C ++ Primer书籍时,我遇到了这样的说法:“数组中元素的数量是数组类型的一部分。” 因此,我想使用以下代码进行查找: #include<iostream> int main() { char Array1[]{'H', 'e', 'l', 'p'}; char Array2[]{'P', 'l', 'e', 'a', 's', 'e'}; std::cout<<typeid(Array1).name()<<std::endl; //prints A4_c std::cout<<typeid(Array2).name()<<std::endl; //prints A6_c return 0; } 有趣的是,两个数组上的typeid结果表明它们有所不同。 幕后发生了什么事? 为什么数组必须具有包含其大小的类型?仅仅是因为它的大小不应该改变吗? 这将如何影响比较数组? 只是希望能够深刻理解这个概念。