assign dasselbe wie = ?
-
hallo,
ist
str.assign(base);
das gleiche wie
str = base;
?
gruß
-
Hm jo, nur das es bei std::string::assign() eine call-by-reference ist:
string& assign ( const string& str );
Bei dem Zuweisungsoperator wird der Inhalt nur kopiert.
-
Kóyaánasqatsi schrieb:
Hm jo, nur das es bei std::string::assign() eine call-by-reference ist:
string& assign ( const string& str );
Bei dem Zuweisungsoperator wird der Inhalt nur kopiert.
Das hab ich jetzt nicht verstanden.
-
volkard schrieb:
Das hab ich jetzt nicht verstanden.
Was'n?
-
assign
bietet dir ein paar Möglichkeiten mehr, als der einfache Zuweisungsoperator. Nachlesen kannst du das hier sehr schön:assign
:
http://www.cplusplus.com/reference/string/string/assign/operator=
:
http://www.cplusplus.com/reference/string/string/operator=/@Kóyaánasqatsi:
Schau dir mal die Links oben an. Operator= nimmt auch (unter anderem) eine const Referenz.
-
Ach so, dass meint volkard also. Ich bin vom Standard-Zuweisungsoperator ausgegangen. Habe gar nicht an den überladenen gedacht, sorry.
-
Kóyaánasqatsi schrieb:
Ach so, dass meint volkard also. Ich bin vom Standard-Zuweisungsoperator ausgegangen. Habe gar nicht an den überladenen gedacht, sorry.
Auch standardgenerierte Zuweisungsoperatoren nehmen eine Const-Referenz.
-
Hallo, danke für die antworten...
Beispiel:
header: string str; konsturktor: str = "irgendwas"; Funktion: void test() { string in_funktion = "string in Funktion"; str.assign(in_funktion); }
jetzt ist string eine referenz von in_funktion oder?
aber in_funktion ist ja nach der funktion nicht mehr vorhanden...
Sorry, wenn ich so dumm frage, bin noch nciht sehr weit in cpp
-
Sorry, hier nochmal:
Beispiel:
header: string str; //konsturktor: str = "irgendwas"; //Funktion: void test() { string in_funktion = "string in Funktion"; str.assign(in_funktion); }
jetzt ist str eine referenz von in_funktion oder?
aber in_funktion ist ja nach der funktion test nicht mehr vorhanden...
Sorry, wenn ich so dumm frage, bin noch nicht sehr weit in cpp
-
stringg schrieb:
header: string str; //konsturktor: str = "irgendwas";
Bitte was?!
stringg schrieb:
//Funktion: void test() { string in_funktion = "string in Funktion"; str.assign(in_funktion); }
jetzt ist str eine referenz von in_funktion oder?
Du kannst Dir eine
std::string
-Variable wie eineint
- oder auchdouble
-Variable vorstellen. Nur anstatt Ganzzahlen oder Fließkommazahlen zu speichern, werden Zeichenkette gespeichert.Deine Funktion lässt sich so abkürzen:
void test() { str = "string in Funktion"; }
Es kommt aufs Gleiche hinaus.
stringg schrieb:
aber in_funktion ist ja nach der funktion test nicht mehr vorhanden...
Ja und?
Gruß,
SP