智能指针与自动参考计数

时间:2016-11-07 10:30:54

标签: c++ objective-c c++11 automatic-ref-counting smart-pointers

我对Objective-C和自动参考计数的了解非常清楚。最近我正在学习C ++,智能指针。我发现智能指针和自动引用计数非常相似。

虽然我无法通过使用C ++和Objective-C的代码示例/示例找到智能指针和自动引用计数的并排比较(相似性和相异性)。那么有人可以给我一个详细的解释吗?

编辑:在这里,通过Smart Pointers,我只指示std::shared_ptrstd::weak_ptrstd::unique_ptr

1 个答案:

答案 0 :(得分:1)

智能指针不一定必须在引用计数方面实现。

unique_ptr不使用任何形式的引用计数 - 当unique_ptr超出范围时,指针被销毁。因此,unique_ptr被认为与原始指针一样高效,这很好:在可以使用独占所有权的情况下,您可以同时使用自动内存管理和与基于行指针的实现相媲美的性能。

shared_ptr通常使用某种形式的引用计数来实现,因为它模拟共享所有权:当没有更多所有者时,资源被销毁。