私はstd::string_view
というメソッドを使用し、NULL終了文字列をパラメータとして取ります。例:apiでstd :: string_viewを使用すると、nullで終わる文字列が返されます。
void stringFunc(std::experimental::string_view str) {
some_c_library_func(/* Expects null terminated string */);
}
問題は、この状況を処理する適切な方法は何ですか? str.to_string().c_str()
は唯一のオプションですか?私は実際にこのメソッドでstd::string_view
を使用したいと思います。なぜなら、異なるタイプの文字列を渡すからです。
VLAの使用に最適です。 – user1095108
@ user1095108しかし、C++でVLAを可能にするコンパイラは非標準の拡張を適用しているので、VLAは決してうまくいかないと言います。 :P –
これらは実質的にどこでもallocaを通してサポートされていますので、移植可能にすることができます – user1095108