vector<unique_ptr<Data>>
自動メモリ管理と低コストのunique_ptr
. 新しく作成したデータをそれに追加しようとする機能があります。データは実際に追加される場合とされない場合があります。追加された場合、ポインター ベクトルが処理するため、メモリの削除を気にする必要はありません。追加されていない場合は、新しく作成されたデータが自動的に削除されることを願っています。それを実装する簡単な方法はありますか?関数は以下のように見えるか、または他の同様の形式になります。ありがとう。
// Return true if really added, return flase if not.
bool add(vector<unique_ptr<Data>>& vec, Data* newData);
デイブの答えに基づいて、公開されbool add(vector<unique_ptr<Data>>& vec, std::unique_ptr<Data>& newData)
ていないため、より良いunique_ptr
ですか? ここでは、2 番目の引数で参照が使用されています。