Hallo!
Ich blicke bei der dynamischen Speicherverwaltung unter C++ einfach nicht mehr durch.
Deshalb versuch ich jetzt einfach mal aufzuschreiben was ich weiss und bitte euch, mich zu korrigieren bzw. meine Fragen zu beantworten .
Also, ich schiess mal los:
-----------------------------------------
Dieser Befehl fordert den Zeiger auf ein String-Array mit zwei String-Objekten an, teststring[0] und teststring[1]. Wenn ich ein Objekt füllen möchte:
Frage -> Wieviele Zeichen hab' ich denn jetzt zur Verfügung? Unendlich viele könnens ja nicht sein, wann merk ich wenn der Speicher aufgebraucht ist? Oder kann ich da einfach bedenkenlos Text einfüllen?
Mit delete[] teststring geb ich den reservierten Platz wieder frei.
------------------------------------------
Ich möchte eine Funktion, die den Rückgabewert in ein wie oben deklariertes String-Objekt schreibt.
Ich übergebe dafür ein einen String an die Funktion.
Weshalb gibt es aber eine Fehlermeldung, wenn ich anstatt string *testfunktion(string) nur string testfunktion(string) schribe? Oder anders gefragt: was bringt ein Zeiger auf eine Funktion?
--------------------------------------------
Gibt es ein Unterschied zwischen:
und
-----------------------------------------------------------------------------------------
So ich hoffe, dass mir jemand meine Fragen beantworten kann.
Ein Link auf ein _gutes_ Tutorial würde mir natürlich auch helfen, leider habe ich bis jetzt immer nur Tutorials gefunden die am Thema vorbeigehen oder aber nicht auf _meine_ Fragen antwortet
Vielen Dank an Euch alle!
Ich blicke bei der dynamischen Speicherverwaltung unter C++ einfach nicht mehr durch.
Deshalb versuch ich jetzt einfach mal aufzuschreiben was ich weiss und bitte euch, mich zu korrigieren bzw. meine Fragen zu beantworten .
Also, ich schiess mal los:
-----------------------------------------
Code:
string *teststring = new string[2];
Code:
teststring[0]="Hallo Peter, hast du etwas von Urs gehoert?";
Mit delete[] teststring geb ich den reservierten Platz wieder frei.
------------------------------------------
Ich möchte eine Funktion, die den Rückgabewert in ein wie oben deklariertes String-Objekt schreibt.
Ich übergebe dafür ein einen String an die Funktion.
Code:
string teststringnormal="hallo welt";
string *testfunktion(string);
teststring[0]=testfunktion(teststringnormal);
Weshalb gibt es aber eine Fehlermeldung, wenn ich anstatt string *testfunktion(string) nur string testfunktion(string) schribe? Oder anders gefragt: was bringt ein Zeiger auf eine Funktion?
--------------------------------------------
Gibt es ein Unterschied zwischen:
Code:
string teststringnormal="hallo welt";
string *testfunktion(string);
teststring[0]=testfunktion(teststring);
Code:
string *teststring = new string[2];
teststring[0]="hallo welt";
string *testfunktion(string)
teststring[1]=testfunktion(teststring[0]);
-----------------------------------------------------------------------------------------
So ich hoffe, dass mir jemand meine Fragen beantworten kann.
Ein Link auf ein _gutes_ Tutorial würde mir natürlich auch helfen, leider habe ich bis jetzt immer nur Tutorials gefunden die am Thema vorbeigehen oder aber nicht auf _meine_ Fragen antwortet
Vielen Dank an Euch alle!