26

の C++リファレンスc_str()std::string、次のように表示されます。

戻り値
基礎となる文字ストレージへのポインター。
data()[i] == operator[](i) for every i in [0, size())(C++11未満)
data() + i == &operator[](i) for every i in [0, size()] (C++11以上)

C++ 11以降、範囲が1要素増えることを除いて、2つの違いはわかりません。

前者の主張data()[i] == operator[](i)は後者にも当てはまるのではないか。

4

3 に答える 3