C++1z(C++17)標準ライブラリの文字列型std::basic_string<charT>クラステンプレートでは、ポインタ型charT*を返す 非const版 dataメンバ関数が追加される。(ポインタ型const charT*を返すconst版dataメンバ関数はC++98から存在している。) まとめ: C++98/03標準ライブラリでは仕様による保証が無いものの、実用上は&buf[0]を利用できる。*1 C++11/14標準ライブラリでは&buf[0]を利用する。 C++1z標準ライブラリでは&buf[0]またはbuf.data()を利用する。 下記例のようなレガシーAPIに対して、配列の代わりにstd::stringオブジェクトを文字列取得バッファとして渡す方法。 // バッファsにNUL終端文字列を取得(size=バッファ長) // 戻り値:バッファに格納された文字数(NUL