所在的位置: C++ >> C++介绍 >> C11新特性43智能指针wea

C11新特性43智能指针wea

北京湿疹医院 http://baidianfeng.39.net/a_bdfys/210405/8814684.html

弱指针

weak_ptr看起来更像shared_ptr的附属品,它从shared_ptr衍生,但不会控制所指向对象的生命周期。weak_ptr的弱就弱在这里。

构建

一共有三种形式,都非常简单,直接看代码。

执行结果:

虽然根据shared_ptr构造了两个weak_ptr,但是引用计数仍然为1。

赋值

一样的简单。

输出结果:

虽然shared_pt为两个weak_ptr赋值,但是引用计数仍然为1。

使用

C++11标准库没有提供通过weak_ptr直接访问对象的方法,而是调用weak_ptr的lock方法生成一个shared_ptr,再通过shared_ptr访问对象。

输出结果:

一句话归纳

weak_ptr提供了一种按需锁定对象的手段。

觉得本文有帮助?请分享给更多人。




转载请注明:http://www.aierlanlan.com/rzfs/3459.html