zoukankan      html  css  js  c++  java
  • weak_ptr

    理解weak_ptr 的2个关键点:

    1. 认为它和一般指针没有区别。

    2. 没有删除它能访问的动态分配的空间的能力。


    weak_ptr是对shared_ptr的一个访问者,weak_ptr不参与shared_ptr的引用计数,也不会删除所指向的对象。同时,当对象被shared_ptr删除后,weak_ptr就是无效的了。

    使用weak_ptr,而不使用T*这样的c++指针的原因是:weak_ptr是可以转换成shared_ptr参与引用计数,而T*不可以(只有new T出来的指针才可以构造shared_ptr)。也就是说,weak_ptr虽然不参与引用计数,但是引用计数这套机制还是存在的,当需要转换成shared_ptr的时候就把这套机制传给shared_ptr。否则的话,使用T*构造shared_ptr的话,相当于有两套机制来管理引用计数,那么一个shared_ptr可能指向无效的对象(对象被另一套引用计数机制删除了)。

  • 相关阅读:
    phpcms相关
    php文件缓存
    js 、jq强化复习
    框架替换主页
    羽恒梦工厂所有后台的操作页面
    羽恒梦工厂个人中心
    羽恒梦工厂详情页
    待查的问题
    ASP.NET中的常用快捷键
    快速排序
  • 原文地址:https://www.cnblogs.com/taoxu0903/p/1281629.html
Copyright © 2011-2022 走看看