unique_ptr
• 一个unique_ptr拥有它所管理的对象,与shared_ptr不同,unique_ptr指向的对象只能有一个用户。当unique_ptr被销毁后,它所指向的对象也被销毁。
• 与shared_ptr不同,没有类似make_shared_ptr的标准函数返回一个unqiue_ptr,定义一个unique_ptr时,需要将其绑定到一个new返回的指针上,类似shared_ptr,初始化unique_ptr必须采用直接初始化形式:
unique_ptr<double> p1; // p1指向一个double类型变量 unique_ptr<int> p2(new int(1024)); // p2指向一个int类型,值为1024 •
• 因为只有一个unique_ptr拥有它所指向的对象,因此unique_ptr不支持普通的拷贝或赋值操作。