Operatorüberladung new, delete - falsche Adressen?
-
Ah, jetzt! In dem Feld vorher steht die Anzahl der Elemente...

Aber das könnte wahrscheinlich auch von Compiler zu Compiler variieren... Hm, ich glaube, dafür gibts wohl keine wirklich standardkonforme Lösung.
Und es wird doch einfachsizeof(void*)zurückgegangen, und nichtsizeof(int), oder? Dass das oft das Gleiche ist, ist ja eher Zufall...Ansonsten, ist mein Code ungefähr brauchbar? Oder wieso ist deiner um einiges komplizierter?

-
Na klar, das ganze Konzept, dass der Compiler den Arraycount in einem int vor dem Array speichert ist natürlich compilerabhängig. Wobei es wohl kaum einen gibt, der das nicht so implementiert. Fraglich wäre nur, ob das in x64-Code dann 64-bit Integer sind... Wobei das ja wiederum eigentlich mit sizeof(int) schon geregelt ist.
Dein Code ist hauptsächlich deshalb schöner, weil du meinen genommen hast und ihn schöner gemacht hast
Ich hatte zuerst die 2 Felder-Idee wegen der 4-byte-Geschichte und dann nachträglich die Idee mit der 1 noch davor und das dann da reingefrickelt.
Woher weißt du, das der Compiler um sizeof(void*) vorspringt und nicht um sizeof(int)? Ich dachte mir halt, da steht also eine Zahl vor, die 4 byte groß ist, also ist es ein int
Alles Annahmen... 
-
Decimad schrieb:
Dein Code ist hauptsächlich deshalb schöner, weil du meinen genommen hast und ihn schöner gemacht hast

Sollte kein Vorwurf sein, nur dank dir hab ich diesen Code ja so hingekriegt.

Nur die Geschichten mit der binären Logik und dem dritten Feld haben mich von Anfang an verwirrt, deshalb habe ich jetzt versucht, ohne sie auszukommen.
Decimad schrieb:
Woher weißt du, das der Compiler um sizeof(void*) vorspringt und nicht um sizeof(int)? Ich dachte mir halt, da steht also eine Zahl vor, die 4 byte groß ist, also ist es ein int
Alles Annahmen... 
Nun ja, ich habe mir vorgestellt, dass er halt gerade eine Zelle im Arbeitsspeicher zurückgeht, und eine Adresse benötigt halt
sizeof(void*)Bytes (Grösse eines Zeigers). Aber meistens sollte das sowieso gleich der Grösse vonintsein... Aber ja, ist halt auch so eine Annahme. So wirklich portabel bringt man das sowieso kaum hin...Vielen Dank für deine Hilfe, du hast mich echt weitergebracht!
