Читая книгу по 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 на двух массивах показали, что они как-то разные.
- Что происходит за кулисами?
- Зачем массиву иметь тип, который включает его размер? Это только потому, что его размер не должен меняться?
- Как это повлияет на сравнение массивов?
Просто хочу быть в состоянии глубоко понять концепцию.