Hallo,
ich bin relativ neu in c++.
ich versuche eine eigene String Klasse zu schreiben (nur ein bisschen die Sprache kennen lernen).
ich habe folgendes Problem:
Hier versuche ich mit dem + operator 2 MyString Objekte zu verbinden. Das Funktioniert ja auch jedoch soll mein newStr char* aus dem Speicher gelöscht werden.
Meineswissens wird ja der Code, der nach dem return Schlüsselwort kommt nicht ausgeführt.
Bisher in C# und Java habe ich mir um solche sachen keine Gedanken gamacht aber in c++ muss man ja alles "von Hand" freigeben.
Weiß jemand wie ich trotzdem den Speicher Freigeben kann?
ich bin relativ neu in c++.
ich versuche eine eigene String Klasse zu schreiben (nur ein bisschen die Sprache kennen lernen).
ich habe folgendes Problem:
Code:
private:
char *str;
.
.
.
MyString operator+(const MyString & t)
{
char* newMyString = new char[strlen(str) + strlen(t.str) + 1];
strcpy(newMyString , str);
strcat(newMyString , t.str);
return newMyString ;
delete[] newMyString ;
}
Meineswissens wird ja der Code, der nach dem return Schlüsselwort kommt nicht ausgeführt.
Bisher in C# und Java habe ich mir um solche sachen keine Gedanken gamacht aber in c++ muss man ja alles "von Hand" freigeben.
Weiß jemand wie ich trotzdem den Speicher Freigeben kann?