1、unique_ptr&的介绍

unique_ptr&是C++11标准中引入的一种智能指针,它的特点是拥有独占性,即在一个特定的时刻,只有一个智能指针对象拥有某一个对象的所有权,而且在智能指针释放对象时,会自动释放相关资源,可以有效的防止内存泄露。

2、unique_ptr&使用参数的优势

使用unique_ptr&作参数可以有效的简化代码,从而减少可能出现的错误,同时还可以有效的避免拷贝构造函数的调用,从而提高程序的效率。

3、使用unique_ptr&作参数的示例

下面是一个使用unique_ptr&作参数的示例代码:

#include
#include
 
class widget
{
public:
    widget(){}
    ~widget(){}
    void show(){std::cout << "show widget" << std::endl;}
};
 
void func(std::unique_ptr& pw)
{
    pw->show();
}
 
int main()
{
    std::unique_ptr pw(new widget);
    func(pw);
 
    return 0;
}

从上面的代码可以看出,使用unique_ptr&作参数非常的简单,只需要将unique_ptr对象传递给函数即可。