C++相談室 part77
■ このスレッドは過去ログ倉庫に格納されています
0105デフォルトの名無しさん
2010/01/20(水) 18:51:27>std::stringの内部のバッファが連続しているとは限らない
えっ?そうなのか?
「内部のバッファが連続しているとは限らない」なら普通にc_str()の呼び出しで一回だけ使うことですら危険じゃないだろうか。
仮にstd::stringのc_str()の実装が((以下、実際の実装がそうなっているという意味ではないぞ))
「内部的に連続していないかもしれない領域を保持しており、c_str()の呼び出しで再度領域の割り当てを行い、連続したバッファを返却する仕様」だとしても、
「返却された値がいつ無効になるのか分からない仕様」だとすると、前述したように「c_str()の呼び出しで戻り値を一回だけ使うことですら危険」だよな。
つまり、何かしらの無効になるタイミングがあるはずでそれが>>89だろ。
>>93でも言われているわけだが。
まぁ>>94が結論を書いてくれているが。
■ このスレッドは過去ログ倉庫に格納されています