求教一个unique_ptr指针赋值的问题
unique_ptr指针不通常能被赋值,下面这个代码是一个匿名对象被赋值给了其他的unique_ptr指针:unique_ptr<string> p;
p = unique_ptr<string>(new string("Hello"));
似乎是可以的,匿名对象可以被赋予到其他的指针,想请问下原理是什么,匿名对象似乎也不是一个即将消亡的对象。
多谢帮助!!!
#include <memory> #include <string> using namespace std; int main( void ) { unique_ptr<string> x( new string("Hello") ); unique_ptr<string> p; p = std::move(x); }