C++相談室 part28
■ このスレッドは過去ログ倉庫に格納されています
0874869
NGNG私も疑問に思ったので標準を漁りました.
まず,周知の通りvectorは&v[0]で取れるメモリの連続性は保証されています.
一方でstringは内部表現が連続したメモリであることは保証されていません.
(標準の21には空間の連続性に対する表明が見つかりませんでした)
また,Effective STLの第16項も同様に言っています.
そして,string::c_strは必ずしも内部表現の配列の先頭を返すとは限らないようです.
(標準21.3.6)
>872
むしろ内部の連続性が保証されていないのでc_strを公開している,というのが正しいようです.
■ このスレッドは過去ログ倉庫に格納されています