基礎タイプT
がデフォルトでは構成不可能、コピー不可/移動不可の場合でも、boost::optional<T>
を初期化するにはどうすればよいですか?init boost:コピーできないオブジェクトのオプション
は、それは(非参照型のT
のために)完全にオブジェクトを構築するためにインプレースoperator new
にすべての引数を提供しtemplate< typename... Args > boost::optional<T>::construct(Args && ...args)
のようないくつかのメンバ関数を、持っている任意のセマンティックな理由によりboost::optional
のために禁止されていますか?バリアントは、std::make_shared<T>
のような非メンバ関数を持つことです。
私の問題は、std::unique_ptr
/std::shared_ptr
の使用によって解決することができることを、私には思えるが、この場合には、私の質問は:「なぜboost::optional
進展が凍結されています?」。
デフォルトの構成可能なものは何ですか? boost :: in_placeを使用せずにオプションで非コピー可能なboost ::を構築する方法はありますか?私の様々な試みはコンパイルに失敗しました – Geronimo