Ao ler o livro C ++ Primer, deparei-me com esta declaração: "O número de elementos em uma matriz faz parte do tipo da matriz". Então, eu queria descobrir usando o seguinte código:
#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;
}
E, curiosamente, o resultado do typeid nas duas matrizes mostrou que elas são de alguma forma diferentes.
- O que está acontecendo nos bastidores?
- Por que é necessário que as matrizes tenham um tipo que inclua seu tamanho? É apenas porque seu tamanho não deve mudar?
- Como isso afetará a comparação de matrizes?
Só quero ser capaz de entender profundamente o conceito.