Search code examples
c++shared-ptrraii

RAII with shared_ptr


I want to initialize two instances of a classes through smart pointers:

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

    _pA.reset( new myQueue() ) ;
    _pB.reset( new myQueue() ) ;

Do I have initialized with the above reset function two different myQueues or just two pointers on the same object?


Solution

  • Assuming your myQueue class isn't weird, yes, you will have two separate instances.

    You might also be interested in make_shared, which would let you write it like this:

    auto _pA = std::make_shared<myQueue>();
    auto _pB = std::make_shared<myQueue>();