使用shared_ptr的RAII

Smi*_*mii 0 c++ raii shared-ptr

我想通过智能指针初始化两个类的实例:

    std::shared_ptr< myQueue > _pA ;
    std::shared_ptr< myQueue > _pB ;

    _pA.reset( new myQueue() ) ;
    _pB.reset( new myQueue() ) ;
Run Code Online (Sandbox Code Playgroud)

我是否已使用上述复位函数初始化了两个不同的myQueues或同一对象上的两个指针?

kwa*_*ord 6

假设你的myQueue类并不奇怪,是的,你将有两个独立的实例.

你可能也有兴趣 make_shared,这会让你这样写:

auto _pA = std::make_shared<myQueue>();
auto _pB = std::make_shared<myQueue>();
Run Code Online (Sandbox Code Playgroud)