6.13、智能指针

  • shared_ptr ---- 共享资源的智能指针,直到指向这个地址的所有指针都消亡才释放内存
    6.13、智能指针
    被用来表示共享的拥有权。也就是说,当两段代码都需要访问一些数据,而它们又都没有独占该数据的所有权(从某种意义上来说就是该段代码负责销毁该对象)。shared_ptr是一种计数指针。当引用计数变为0时,shared_ptr所指向 的对象就会被删除。

    1. Shared_ptr<类型> p1 = make_shared<类型>(对象创建)
    2. Shared_ptr<类型> p2(new 类型)
    3. Shared_ptr<类型> p3(p1)
      6.13、智能指针
      6.13、智能指针
      6.13、智能指针
      6.13、智能指针
  • unique_ptr

    1. unique_ptr同一时刻只能有一个unique_ptr指向给定对象(通过禁止拷贝语义、只有移动语义来实现)。
    2. unique_ptr指针的生命期从创建时开始,直到离开作用域, 将其所指对象销毁
      6.13、智能指针
      6.13、智能指针
    • weak_ptr
      6.13、智能指针
      6.13、智能指针
      6.13、智能指针