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