6
unique_ptr引数をコンストラクタまたは関数に渡すにはどうすればよいですか?
C ++ 11でセマンティクスを移動するのは初めてですがunique_ptr、コンストラクターまたは関数でパラメーターを処理する方法がよくわかりません。このクラスが自分自身を参照していると考えてください。 #include <memory> class Base { public: typedef unique_ptr<Base> UPtr; Base(){} Base(Base::UPtr n):next(std::move(n)){} virtual ~Base(){} void setNext(Base::UPtr n) { next = std::move(n); } protected : Base::UPtr next; }; これは私がunique_ptr引数を取る関数をどのように書くべきですか? そしてstd::move、呼び出しコードで使用する必要がありますか? Base::UPtr b1; Base::UPtr b2(new Base()); b1->setNext(b2); //should I write b1->setNext(std::move(b2)); instead?
400
c++
arguments
c++11
unique-ptr