>>874
>むしろ内部の連続性が保証されていないのでc_strを公開している,というのが正しいようです

では、どんな時にc_str()を使うのか教えていただきたい。
cのヌル終端文字列だからc_str()って名前なんじゃないかと思うのですが・・・。
つまり、C標準関数やその他の関数のconst char*引数に使うための代物では?
保証されないという事は、stringの文字列バッファの中身をCの関数に渡しちゃダメって事ですよね。

vecorのような1つの要素が大きな容量である配列の連続性が保証されていて、
stringのような1つの要素が1バイトである配列の連続性が保証されていないのは知りませんでした。
明らかな連続性を前提にしているから明記してないだけだとばかり思ってました。

そうであれば、stringから従来型のchar[]へ、バッファコピーする際の推奨されるコピー方法は何でしょうか?