添加对共享ptr的引用是否会增加引用计数

Cas*_*211 5 c++ shared-ptr

假设我有一个这样的方法

void foo(const boost::shared_ptr<Pfoo>& rx)
{
   myvector->push_back(rx);
}
Run Code Online (Sandbox Code Playgroud)

我读到当boost :: shared_ptr作为参考传递时,它的引用计数不会增加.现在,如果实际的ptr超出范围,上述情况会发生什么?

For*_*veR 6

当通过引用传递指针时 - 没有发生复制,没有引用计数器递增.

myvector->push_back(rx);
Run Code Online (Sandbox Code Playgroud)

在这里,向量将被推送副本rx,而不是rx,因此,引用计数器将递增.