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.