String -to- Variable



  • 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 🙂


Anmelden zum Antworten