sizeof buffer array/pointer
-
folgendes problem
unsigned char *d = new unsigned char[1111]; printf("%d\n",sizeof(d));GIBT 4 aus ja schon klar, nur möcht ich wie hier
unsigned char d[1111]; printf("%d\n",sizeof(d));1111 ausgeben aber dennoch mit new initialisieren, wie gebe ich die größe nun aus?
geht das überhaupt?thx
-
Die Größe solltest du speichern und immer mitliefern, wenn sie gebraucht wird.
-
std::vector<char> d(1111); std::cout << d.size();Irgendwie das falsche Unterforum

-
Dieser Thread wurde von Moderator/in rüdiger aus dem Forum Rund um die Programmierung in das Forum C++ verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.
-
sizzs schrieb:
1111 ausgeben aber dennoch mit new initialisieren, wie gebe ich die größe nun aus?
geht das überhaupt?thx
du hast anscheinend gar nicht verstanden, was
newist.newlifert dir einen Zeiger auf dynamisch allozierten Speicher auf dem Heap.typ arr[größe]reserviertgröße * sizeof typBytes auf dem Stack.newist nicht zum Initialisieren da, sondern um Speicher anzufordern.
-
new initialisiert den speicher wohl nicht, oder was? Oo
-
unskilled schrieb:
new initialisiert den speicher wohl nicht, oder was? Oo
Mit was soll new denn initialisieren?
-
default ctor...
nur der
operator newtut das nicht...
aber das normale new initialisiert mit dem jeweiligen ctor...bb