'dされ、関数で初期化されたchar*
配列があります。new
通常は使用しますstd::string
が、配列はnullで終了し、複数の可能性が'\0'
あるため、フルサイズでキャプチャしたいと思います。
現状では、呼び出し元はこの関数をいつ使用するdelete[]
かを覚えておく必要があります。スコープ外になったときにデストラクタで呼び出されるchar *
ようにインターフェイスをクリーンアップしたいのですが、何を使用すればよいかわかりません。delete[]
取ることができるよりもスマートポインタはありchar *
ますか?
編集:
std::string
これがCスタイルのnullで終了する文字列ではないことが不明確になるため、使用しないでください。これにを使用できますboost::scoped_array<char>
か?コピーできないのでscoped_array
、それを作成した関数からどのように返すのですか?