Grundlegende Frage zu std::string



  • Hallo!

    Ich hab diesen Code hier:

    string abc;
       abc = "Hallo";
       abc = "GrosserStringOhneSinn";
       abc = "test";
    

    Nach der zweiten Zeile hat abc den Inhalt "Hallo".

    Aber warum sind nach der dritten Zeile in abc nur noch komische Zeichen?? Ich dachte die string-Klasse würde automatisch mehr Speicher reservieren, ohne dass ich mich darum kümmern müsste?

    Nach der vierten Zeile steht in abc dann wieder korrekterweise "test".

    Würde mich über Antworten freuen 🕶



  • string kümmet sich darum, dass immer genug Speicher da ist. Dein Bsp. ist
    ok. Zeig mal ein bissl mehr Code drum herum.



  • wie wärs wenn du zuerst den Inhalt, nach jeder Zuweisung ausgibst. Denn ich schätze dein Debugger hat versagt.



  • Tatsächlich: Der Debugger hat ne Macke! 😮 😕

    Dann ist ja die Welt wieder in Ordnung, wenn auch mein grenzenloses Vertrauen in den Visual C++.Net Debugger zerstört worden ist 😞 😉

    Danke euch zu so später Zeit!! 👍



  • Der Debugger hat keine Macke. Ab einer bestimmten Grösse wird der Inhalt aus dem statischen Buffer in einen dynamischen verschoben. Schau dir die Klasse mal ein wenig genauer an.


Anmelden zum Antworten