Themabewertung:
- 0 Bewertung(en) - 0 im Durchschnitt
- 1
- 2
- 3
- 4
- 5
[C++] Verfallen Arrays auch zu Pointer?
|
gandro
Quälgeist
Beiträge: 8.950
Registriert seit: Jul 2008
|
[C++] Verfallen Arrays auch zu Pointer?
Kurze Frage, weil ich irgendwie grad keinen am Hörer habe, der C++ kann: Bei C verfallen Arrays bei der Parameterübergabe bekanntlich zu Pointern, die Länge lässt sich dementsprechend nicht mehr mit sizeof() ermitteln.
Wie sieht das bei C++ aus, gibts da ein Sprachfeature was das umgeht? Irgend eine Alternative zu sizeof extra für Arrays?
|
|
04.10.2009 14:31 |
|
friedrichheinze
...und Kondensatoren.
Beiträge: 2.838
Registriert seit: Jul 2008
|
[C++] Verfallen Arrays auch zu Pointer?
Hm. Wenn du einen Array auf dem Stack hast, also zB
int array[10];
dann wirst du dessen Größe schon mit sizeof() abfragen können.
Wenn du aber einen Array dynamisch auf dem Heap hast und mit new alloziierst, dann bleibt dir doch nichts anderes übrig als einen Pointer auf die Startadresse zu speichern, oder?
Du könntest stattdessen einen vector benutzen. Der hat size().
|
|
04.10.2009 15:08 |
|
gandro
Quälgeist
Beiträge: 8.950
Registriert seit: Jul 2008
|
[C++] Verfallen Arrays auch zu Pointer?
Ja stimmt. Hab zuwenig weit gedacht.
Hatte vermutet, dass die bei C++ das Array als Objekt implementiert haben, so dass man dann dank Operatoren-Überladung (nennt man das so?) oder ne Funktion die Länge ausgeben lassen, aber dann wärs ja nichts mit der C-Abwärtskompatibilität.
|
|
04.10.2009 15:29 |
|
Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste