Frage : Korrekte Auslassung von wchar memroy in C++

Team,

In meine Programmfunktion, bekannt gegeben ich, drei wchar_t Reihen verursachend unten und sie am Ende der Funktion vor den Funktionsenden deleteing, aber sogar nach Auslassung freigibt sie nicht das Gedächtnis bt und fortfährt und, es oben zu essen. Kann jemand mir erklären, was ich falsch tue:

Creation:

wchar_t* char1 = neues wchar_t [5000];
wchar_t* char2 = neues wchar_t [5000];
wchar_t* char3 = neues wchar_t [5000];

Deletion:
char1 = NULL;
char2 = NULL;
char3= NULL;
delete [] char1;
delete [] char2;
delete [] char3;

Antwort : Korrekte Auslassung von wchar memroy in C++

Sie möchten das doppelt belegte löschen, das mit dem neuen verbunden ist.

wchar_t* char1 = neues wchar_t [5000];
Löschung [] char1;

Wenn der Löschungoperator einen UNGÜLTIGEN Wert erhält, um an zu funktionieren, dann tut er nichts. Aber in den oben genannten zwei Linien, erhält der Löschungoperator die tatsächliche Adresse verbunden mit dem neuen Operator, und also wird in der Lage sein, den Raum richtig freizugeben, der vom neuen Operator verursacht wird.
Weitere Lösungen  
 
programming4us programming4us