ここからは、一意のポインタを参照するときにポップアップする質問のほとんどを読んで分かりましたが、これはBuilderパターンで記述された動作を提供する必要があるようです。これはunique_ptrの正しい使い方ですか?
ビルド中のオブジェクトを所有するためにビルド中のオブジェクトを変更する手続きを実装していないため、ビルダーのインスタンス(またはそのサブクラス)が必要なのは、Closeが呼び出し側に一意のポインタを返すまでです呼び出し側が所有権を取得する点。
Builder.h
template <class type> class Builder
{
public:
~Builder();
unique_ptr<type> Close();
protected:
Builder();
unique_ptr<type> _uptr;
};
Builder.cpp
template<class type> Builder<type>::Builder()
{
uptr = make_unique<type>();
}
template<class type> Builder<type>::~Builder()
{}
template<class type> unique_ptr<type> Builder<type>::Close()
{
return uptr;
}
は値によってユニークなポインタを渡すの意味を、私理解していますか?
(含まれており、簡潔/読みやすさのために省略名前空間)
ありがとう:
は、ここで私はビルダークラスを変更したい方法です!それは理にかなっている。私は適切に転送を実行していなかったことを知っていました。 – ophilbinbriscoe