1. ホーム
  2. c++

[解決済み】配列でunique_ptrを使用することはありますか?

2022-04-19 19:05:45

質問

std::unique_ptr は、例えば配列をサポートしています。

std::unique_ptr<int[]> p(new int[10]);

しかし、それは必要なのでしょうか? std::vector または std::array .

この構成に何か使い道があるのでしょうか?

解決方法は?

を使用する余裕がない人もいます。 std::vector アロケータを使用してもです。動的にサイズを変更する配列が必要な人もいるので std::array はアウトです。また、配列を返すことが分かっている他のコードから配列を取得する人もいますし、そのようなコードは vector などがあります。

を許可することで unique_ptr<T[]> そのようなニーズに対応するためです。

要するに、あなたは unique_ptr<T[]> を使用する場合 必要 になります。他の方法ではどうしてもうまくいかないとき。最後の手段なのです。