跳至主要內容
shared_ptr智能指针

shared_ptr智能指针

C++中的shared_ptr是一种智能指针,它是通过引用计数来管理动态内存的。shared_ptr的实现过程可以简单地概括为以下几个步骤:

  1. 创建一个shared_ptr对象时,它会初始化一个引用计数,该计数初始化为1,并将指针指向动态内存。

  2. 当一个shared_ptr对象被复制时,它的引用计数会增加1。这是通过将新的shared_ptr对象的引用计数指向原始对象的引用计数来实现的。

  3. 当一个shared_ptr对象被销毁时,它的引用计数会减少1。如果引用计数变为0,则意味着没有任何shared_ptr对象引用该动态内存,此时会自动释放该动态内存。

  4. 当一个shared_ptr对象被赋值给另一个shared_ptr对象时,它们共享同一个引用计数。这是通过将两个shared_ptr对象的引用计数指向同一个对象来实现的。


ekskei大约 3 分钟C/C++指针