1. ホーム
  2. c++

[解決済み] auto_ptrは非推奨ですか?

2023-06-10 23:31:58

質問

  1. auto_ptr は次期 C++ 標準で非推奨となるのでしょうか。
  2. 所有権の移動には shared_ptr の代わりに unique_ptr を使用すべきですか?
  3. unique_ptrが標準にない場合、代わりにshared_ptrを使用する必要がありますか?

どのように解決するのですか?

UPDATE: この回答は2010年に書かれたもので、予想されたものです。 std::auto_ptr は非推奨となりました。アドバイスは全く有効です。

C++0xでは std::auto_ptr は非推奨となり、代わりに std::unique_ptr . スマートポインタの選択はユースケースと要件に依存します。 std::unique_ptr をコンテナ内部で使用できる単一所有権のための移動セマンティクスを使用したものと std::shared_ptr は、所有権が共有されている場合に使用されます。

状況に最も適したスマートポインタを使うようにすべきです。正しいポインタタイプを選択することで、他のプログラマにあなたの設計に対する洞察を与えることができます。