Beim Lesen des C ++ Primer-Buches stieß ich auf die folgende Aussage: "Die Anzahl der Elemente in einem Array ist Teil des Array-Typs." Also wollte ich das mit folgendem Code herausfinden:
#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;
}
Und interessanterweise zeigte das Ergebnis von typeid auf den beiden Arrays, dass sie irgendwie unterschiedlich sind.
- Was ist hinter den Kulissen los?
- Warum müssen Arrays einen Typ haben, der seine Größe enthält? Liegt es nur daran, dass sich seine Größe nicht ändern sollte?
- Wie wirkt sich dies auf den Vergleich von Arrays aus?
Ich möchte nur in der Lage sein, das Konzept tief zu verstehen.