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

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

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


我是否已使用上述重置功能初始化了两个不同的myQueues或仅在同一对象上的两个指针?

最佳答案

假设您的myQueue类不奇怪,是的,您将有两个单独的实例。

您可能还对make_shared感兴趣,它使您可以这样编写:

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

关于c++ - RAII与shared_ptr,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20475281/

10-08 21:32