1、weak_ptr  (1)、weak_ptr是为了配合shared_ptr而引入的智能指针,它更像是shared_ptr的一个助手,它不具有普通指针的行为,没有重载operator*->,它的最大作用在于协助shared_ptr工作,像旁观者那样观测资源的使用情况。  (2)、2个重要接口:bool expired()const ;// 判断是否过期  l
原创 2016-07-31 12:10:14
1152阅读
1点赞
unique_ptr(定义在中)提供了一种严格的语义上的所有权拥有它所指向的对象无法进行复制构造,也无法进行复制赋值操作(译注
原创 2023-04-11 00:08:14
65阅读
理解weak_ptr 的2个关键点: 1. 认为它一般指针没有区别。 2. 没有删
转载 2008-09-01 23:29:00
89阅读
2评论
弱引用智能指针 std::weak_ptr 可以看做是 shared_ptr 的助手,它不管理 shared_ptr 内部的指针。std::weak_ptr 没有重载操作符 * ->,因为它不共享指针,不能操作资源,所以它的构造不会增加引用计数,析构也不会减少引用计数,它的主要作用就是作为一个旁 ...
转载 2021-08-15 16:22:00
161阅读
2评论
shared_ptrweak_ptr智能指针均是C++ RAII的一种应用,可用
转载 2019-11-29 10:31:00
169阅读
2评论
文档: http://www.boost.org/doc/libs/1_57_0/libs/smart_ptr/shared_ptr.htm shared_ptr构造有个原型 Introduction The shared_ptr class template stores a pointer to
转载 2015-02-05 17:01:00
151阅读
2评论
shared_ptr weak_ptr是C++ tr1中最具有实用性的一个工具。利用C++的析构函数与引用计数,提供资源自动管理的能力。在vs2010之前,大家用的都是boost中的smartptr库,现在vs2010已经提供了tr1类库。 shared_ptr: 每一个shared_ptr对象内部,拥有两个指针ref_ptr与res_ptr,一个指向引用计数对象,一个指向实际的资源。 在s
原创 2011-03-20 22:36:24
3087阅读
boost库实现了各种智能指针,基本上都纳入了c++11标准中,boost库
原创 2022-12-11 20:09:30
475阅读
如果说线程A执行Incref_nz时,获取Uses_的原子值是1,即cnt为1,资源存在,可以将weak_ptr提升成shared_ptr,于是进入while循环。如果
原创 2022-09-25 00:18:53
240阅读
以tr是用来智能管理内存的,shared_ptr的 构造函数,拷贝构造,拷贝赋值 这三个动作都会导致 引用计数的增加,析构函数,移动拷贝,移动赋值 这三个动作都会导致 引用计数的减少。当引用计数为 0 时,指向的资源被释放,但是要记得自行把shared_ptr置空,它不会像QPointer那样进行自动置空动作。weak_ptrshared_ptr
原创 2022-09-23 13:47:37
130阅读
转自:://blog.csdn.net/malong777/article/details/489
转载 2017-02-16 00:51:00
117阅读
2评论
weak_ptr是一种不控制对象生存周期的智能指针,它指向一个shared_ptr管理的对象...它不会改变shared_ptr的引用计数——《C++ Primer .5th》。很明显,weak_ptr的特点是“弱引用”。有什么用?应用场景是什么地方?    考虑它的胞兄shared_ptr,每次复制之后引用计数加一,不再指向对象(自身销毁或指向其他对象)时时引用计数减一,减至零
原创 2023-07-11 16:30:36
99阅读
强指针----------------------------------boost::shared_ptr 示例代码如下: #include <string> #include <iostream> #include <boost/shared_ptr.hpp> class implementation{ public: ~impleme
weak_ptr
原创 2023-04-22 01:00:20
457阅读
文章目录智能指针简介shared_ptr智能指针对比普通指针基本用法其他用法智能指针引用计数为0,释放的对象是注意事项完整代码智能指针相关的函数总结weak_ptr基本用法常用函数用法环形引用问题shared_ptrweak_pt
转载 2021-07-01 11:45:17
587阅读
std::weak_ptr 避免shared_ptr内存泄漏的利器。 smart pointer 三兄弟性格各异。unque_ptr是独来独往,shared_ptr是左拥右抱,而weak_ptr生来就不是为了
原创 2022-08-20 00:00:27
106阅读
12.1.4智能指针异常1.在块中创建的动态内存,如果是由内置指针来指向这块内存,那么若是在块结束时未delete这个指针,则该内存不会被释放,若在delete之前发生异常,由于还没执行delete操作,内存也...
原创 2021-05-28 14:36:56
543阅读
来源:微信公众号「编程学习基地」文章目录智能指针简介shared_ptr智能指针对比普通指针基本用法其他用法智能指针引用计数为0,释放的对象是注意事项完整代码智能指针相关的函数总结weak_ptr基本用法常用函数用法环形引用问题shared_ptrweak_ptr详细示例智能指针简介为了解决C++内存泄漏的问题,C++1
原创 2022-01-25 10:08:30
364阅读
12.20 编写程序,逐行读入一个输入文件,将内容存入一个StrBlob中,用一个StrBlobPtr打印出StrBlob的每个元素。StrBlob.h#ifndef STRBLOB_H#define STRBLOB_H#include#include#include#includeusing na...
转载 2014-08-19 20:26:00
169阅读
2评论
一、区别所有权:std::shared_ptr: 提供了共享所有权的概念,多个std::shared_ptr可以指向同一个对象,并且通过引用计数来跟踪有多个std::shared_ptr正在使用该对象,当最后一个std::shared_ptr被销毁或重置时,所指向的对也会被释放;std::weak_ptr不增加引用计数,因此他并不会控制对象的生命周期,他可以与std::shared_ptr共同作用
  • 1
  • 2
  • 3
  • 4
  • 5