String -to- Variable
-
Nur mal so. Was war daran so witzig?
Stimmt doch...
-
warum geht bei mir dann das?
int main(int argc, char* argv[]) { string gehtnicht="Geht doch!!!!"; cout<<gehtnicht; return 0; }
-
5er1al schrieb:
warum geht bei mir dann das?
int main(int argc, char* argv[]) { string gehtnicht="Geht doch!!!!"; cout<<gehtnicht; return 0; }
Weil man nicht c_str() braucht um ihn mit cout auszugeben.
Deshalb geht das.
-
Unix-Tom schrieb:
5er1al schrieb:
warum geht bei mir dann das?
int main(int argc, char* argv[]) { string gehtnicht="Geht doch!!!!"; cout<<gehtnicht; return 0; }
Weil man nicht c_str() braucht um ihn mit cout auszugeben.
Deshalb geht das.ach und möglicherweise wollte ich das damit sagen??
-
Hallo!
Ich hab da mal noch 'ne Frage zu. Ich hab die Urfrage nämlich anders verstanden.
Nehmen wir einmal an ich hätte da eine Funktion foo(), und diese Funktion liefert mir einen String zurück (also quasi einen Zeiger auf einen) und jenen String möchte ich als Name einer Variable verwenden. Geht das mit dem Beispiel von Oxdeadbeef ?Gruß André.
-
Geht das überhaupt? Wenn ja, wie?
Bitte ein Beispiel mit Foo() und VariableNoch'n Gruß
-
weiß net ob du sowas meinst:
string foo(string text) { text+="Test"; return text; //mach irgendwas mit text } int main(int argc, char* argv[]) { string str ="Hallo"; string str2=foo(str); //übergibt str2 den bearbeiteten text cout<<str2; return 0; }
-
Nee, eigentlich eher:
int main( void ) { string text = "irgendwas"; int foo(text) = 15; printf("%i",irgendwasTest); }
Geht so was? Ich glaubs nich so recht geb die Hoffnung aber noch nicht auf
-
weiß echt net was du meinst!
-
Genau sowas wie der vorherige post, hab ich mir gedacht!
-
dann erklärt mir was ihr mit der funktion, die eine ganzzahl zurückgibt machen wollt?!
-
derAnder schrieb:
Nee, eigentlich eher:
int main( void ) { string text = "irgendwas"; int foo(text) = 15; //foo gibt irgendwasText zurück -> irgendwasText wird 15 zugewiesen printf("%i",irgendwasTest); //Ausgabe ist 15 }
-
Bsp.:
Die Funktion getName() gibt mir den Namen eines Konten in einem XML-Dokument zurück. Mit diesem namen möchte ich eine neue Instanz einer Klasse erzeugen.
Die Frage ist geht das? Wenn ja wie?
-
nicht direkt, aber auf umwegen mit der map methode die 0xdeadbeaf schon postete.
-
derAnder schrieb:
string text = "irgendwas"; int foo(text) = 15; //foo gibt irgendwasText zurück -> irgendwasText wird 15 zugewiesen
Und wie willst du dann auf die Instanz zugreifen? Immer 'foo(text)' schreiben? Dann kannst du auch gleich 'int foo = 15' schreiben.
C++ hat nunmal ein statisches Typsystem, dh sowas ist nicht möglich. Und nebenbei gesagt, du brauchst sowas auch nicht. Wenn du eine Laufzeit abhängige Instanz brauchst, dann gibt es zB die map Klasse (wie bereits erwähnt).derAnder schrieb:
Die Funktion getName() gibt mir den Namen eines Konten in einem XML-Dokument zurück. Mit diesem namen möchte ich eine neue Instanz einer Klasse erzeugen.
Die Frage ist geht das? Wenn ja wie?Wie bereits erwähnt, sowas kannst du mit 'ner Map machen. Genauso gut ist es aber auch möglich, wenn deine Klasse den Namen als Member hat und du speicherst alle Instanzen in einem dynamische Array, zB std::vector. Kommt halt immer darauf an, welche Anforderungen diese "Kontenverwaltung" hat.
-
5er1al schrieb:
Unix-Tom schrieb:
Weil man nicht c_str() braucht um ihn mit cout auszugeben.
Deshalb geht das.ach und möglicherweise wollte ich das damit sagen??
Wusste ich ja.
Ich wollte es nurmal für -CPP- klar machen. HIer lesen auch Anfänger mit und die sollen ja nichts falsches lernen.
-
Hallo !
Also ich wollte mich für die zahlreichen Antworten bedanken. Ich hab das jetzt so gelöst, dass ich eine id in der Klasse speichere (statt des Namens wie Oxdeadbeef vorschlug) und über diese dann die entsperchene Instanz ansprechen kann. Die id ist als int natürlich einfacher zu verwalten als ein String.
Viele Grüße,
André
-
Unix-Tom schrieb:
5er1al schrieb:
Unix-Tom schrieb:
Weil man nicht c_str() braucht um ihn mit cout auszugeben.
Deshalb geht das.ach und möglicherweise wollte ich das damit sagen??
Wusste ich ja.
Ich wollte es nurmal für -CPP- klar machen. HIer lesen auch Anfänger mit und die sollen ja nichts falsches lernen.ok