char *p="hallo" mit delete[] freigeben
-
Kann man einen den Speicherbereich, auf den ein char Pointer zeigt wieder mit
delete[]feigeben, obwohl man ihn nicht mit new angefordert hat?
Ich meine, bei der zuweisung
char *p="hallo";wir ja eigentlich kein new verwendet, aber ich weiß nicht wie es von statten geht.
Könnte es sein, dass der Compiler es intern doch verwendet, denn wenn ich so speicher wieder freigebe bekomme ich keinen Fehler.
char *p="HALLO"; delete[] p;
-
Hallo
Es gilt immer die Regel : wo kein new, da kein delete.
*char p="hallo" ist ein String-Literal und dafür wird kein Speicher auf dem Heap reserviert, den du dann freigeben müstest.bis bald
akari