假设我有一个这样的方法
void foo(const boost::shared_ptr<Pfoo>& rx)
{
myvector->push_back(rx);
}
Run Code Online (Sandbox Code Playgroud)
我读到当boost :: shared_ptr作为参考传递时,它的引用计数不会增加.现在,如果实际的ptr超出范围,上述情况会发生什么?
当通过引用传递指针时 - 没有发生复制,没有引用计数器递增.
myvector->push_back(rx);
Run Code Online (Sandbox Code Playgroud)
在这里,向量将被推送副本rx,而不是rx,因此,引用计数器将递增.
| 归档时间: |
|
| 查看次数: |
2918 次 |
| 最近记录: |