在阅读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结果表明它们有所不同。
- 幕后发生了什么事?
- 为什么数组必须具有包含其大小的类型?仅仅是因为它的大小不应该改变吗?
- 这将如何影响比较数组?
只是希望能够深刻理解这个概念。