Hallo,
das C++ die Arraylängen nicht speichert kann eigentlich nicht
sein! Unser Proff hat uns das auch immer erzählt aber meiner
da hat der Prof nun erstmal auch Recht (ndR). Plain arrays in C++ speichern keine Grösse. Anders sieht das beim std::vector aus, bei dem dann auch mit [] und at() zwei Zugriffsoperatoren zur Verfügung stehen, einer ohne, der andere mit Validierung der Arraygrenzen.
Wie wären sonst Anweisungen wie delete [] möglich?! Da muss ja
irgendwo die Grenze intern gespeichert werden oder sehe ich
das falsch?
Hier reden wir von Datenstrukturen, die per Heapallokierung angelegt werden, also mit dem new[] operator. Diese verwalten idR Informationen zur allokierten Grösse (nicht unbedingt gleich zur Grösse des Arrays!), einfach auch aus dem Grund, weil der delete operator keinen Parameter besitzt, der die allokierte Grösse spezifiziert.
Wäre interessant zu wissen, falls es so ist wie ich sage, wie
man diese interne Variable abfragt!
gar nicht, weil nicht portabel.
Gruss
norsemanna