标签: 智能指针
-
前面已经提到
std::shared_ptr
有三个缺陷: -
如果理解了侵入式容器,侵入式智能指针也很容易理解。传统的智能指针
std::shared_ptr
使用了和数据无关的引用计数,这带来两个问题: -
智能指针在现代 C++里用得越多。以前只知道它大致的原理,比如使用引用计数。但很多实现细节并不清楚,最直接的,它是如何实现多线程安全的?今天找了 gnu c++ library 的实现好好看了一下。
-
理论上而言,当 C++提供了
std::unique_ptr
, C++的程序就不应该出现普通指针了。所有普通指针都可以用std::unique_ptr
代替,避免手动删除对象。