Garantiert der Standard...
-
...eigentlich das &str[ 0 ], wenn str vom Typ std::basic_string ist, einen Zeiger auf einen zusammenhängenden Speicherbereich liefert?
Also ist folgendes sicher?std::string test( "Hallo Welt" ); char* str = &test[ 0 ]; str[ 0 ] = 'h';Klar gibts Probleme wenn an "test" was geändert wird, weil dann char* evtl auf ungültigen Speicher zeigt, aber meine Frage bezieht sich nur auf das Beispiel.
Laut Herb Sutter funktioniert das ja mit std::vector< char > ganz hervorragend und ist auch standardkonform, meine Frage ist nun aber: Ist std::basic_string genauso implementiert? Ich find einfach nichts im Standard, evtl kann mir ja jemand helfen!grüße
-
Nee ... hatte das mal in nem anderen Forum das ich das getan hatte und dann der Guru da meinte, dass es einen Sonderfall gäbe, wo du Probleme bekommst... ich guck mal ob ich es noch finde!
-
Das wäre super!

-
In diesem Beitrag nennt und zitiert camper die Passage im Standard von 2003, wo hervorgehoben wird, dass dies für vector gilt (das war im 98er Standard noch nicht). Für string gibt es eine solche Passage wohl nicht.
http://www.c-plusplus.net/forum/viewtopic-var-p-is-1327791.html#1327791