如何使用weak_ptr智能指针

weak_ptr是弱引用指针 , 不会累积计数 , 只能从share_ptr或者weak_ptr机关而来 , 目标是解决share_ptr轮回引用的问题 , 是以 , 本文告诉你若何准确机关利用weak_ptr指针 。

需要这些哦
C++11
方式/
1建立share_ptr对象 , 然后利用它来初始化weak_ptr对象

如何使用weak_ptr智能指针

文章插图

2经由过程输出share_ptr和weak_ptr的对象的引用数 , 发现它们是不异的

如何使用weak_ptr智能指针

文章插图

3采用已经初始化当作功的weak_ptr对象来初始化新的weak_ptr对象

如何使用weak_ptr智能指针

文章插图

4经由过程输出新的weak_ptr对象的引用数 , 可以发现它与前面的两个对象的引用数都是不异的

如何使用weak_ptr智能指针

文章插图

5建立完当作weak_ptr对象之后 , 利用之前 , 需要挪用expired函数来判定是否过时 , 若是没有过时 , 才能挪用函数rock来获取share_ptr对象进行操作 。

如何使用weak_ptr智能指针

文章插图

6经由过程weak_ptr对象当作功获取到share_ptr对象之后 , 进行操作 , 输出字符串信息 , 字符串信息与最初share_ptr对象初始化的信息是一致的

如何使用weak_ptr智能指针

文章插图

7最后还可以挪用reset将weak_ptr对象置空

如何使用weak_ptr智能指针

文章插图

8【如何使用weak_ptr智能指针】置空weak_ptr对象之后 , 再次挪用函数expired查抄是否过时 , 发现对象已颠末期 。

如何使用weak_ptr智能指针

文章插图

注重事项喜好经验接待点赞投票!

以上内容就是如何使用weak_ptr智能指针的内容啦 , 希望对你有所帮助哦!

    推荐阅读