shared_ptrweak_ptr智能指针均是C++ RAII的一种应用,可用
转载 2019-11-29 10:31:00
169阅读
2评论
以tr是用来智能管理内存的,shared_ptr的 构造函数,拷贝构造,拷贝赋值 这三个动作都会导致 引用计数的增加,析构函数,移动拷贝,移动赋值 这三个动作都会导致 引用计数的减少。当引用计数为 0 时,指向的资源被释放,但是要记得自行把shared_ptr置空,它不会像QPointer那样进行自动置空动作。weak_ptrshared_ptr
原创 2022-09-23 13:47:37
130阅读
文档: 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_ptrC++ tr1中最具有实用性的一个工具。利用C++的析构函数与引用计数,提供资源自动管理的能力。在vs2010之前,大家用的都是boost中的smartptr库,现在vs2010已经提供了tr1类库。 shared_ptr: 每一个shared_ptr对象内部,拥有两个指针ref_ptr与res_ptr,一个指向引用计数对象,一个指向实际的资源。 在s
原创 2011-03-20 22:36:24
3087阅读
弱引用智能指针 std::weak_ptr 可以看做是 shared_ptr 的助手,它不管理 shared_ptr 内部的指针。std::weak_ptr 没有重载操作符 * ->,因为它不共享指针,不能操作资源,所以它的构造不会增加引用计数,析构也不会减少引用计数,它的主要作用就是作为一个旁 ...
转载 2021-08-15 16:22:00
161阅读
2评论
强指针----------------------------------boost::shared_ptr 示例代码如下: #include <string> #include <iostream> #include <boost/shared_ptr.hpp> class implementation{ public: ~impleme
通过前面的五篇文章,相信各位已经对只能指针有了一个大致的了解。本文趁热打铁,通过一个实例介绍shared_ptrweak_所以也管理着主板信息;2.主板...
原创 2022-07-29 10:24:20
117阅读
unique_ptr(定义在中)提供了一种严格的语义上的所有权拥有它所指向的对象无法进行复制构造,也无法进行复制赋值操作(译注
原创 2023-04-11 00:08:14
65阅读
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共同作用
理解weak_ptr 的2个关键点: 1. 认为它一般指针没有区别。 2. 没有删
转载 2008-09-01 23:29:00
89阅读
2评论
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点赞
c++11 智能指针 unique_ptrshared_ptrweak_ptr C++11中有unique_ptrshared_ptrweak_ptr等智能指针(smart pointer),定义在<memory>中。 可以对动态资源进行管理,保证任何情况下,已构造的对象最终会销毁,即它的析
转载 2017-11-05 17:57:00
178阅读
2评论
一、auto_ptr  auto_ptr这是C++98标准下的智能指针,现在常常已经被C++标准的其他智能指针取代。它的缺点是在转移所有权后会使运行期不安全。C++11新标准,用unique_ptr来代替auto_ptr原有功能。auto_ptr <double> pd;double *p_reg = new double;pd = p_reg; // 不允许pd = ...
原创 2022-11-29 20:04:33
146阅读
;...
转载 2023-07-21 15:25:38
1466阅读
这是C++11新特性介绍的第五部分,涉及到智能指针的相关内容(shared_ptr, unique_ptr, weak_ptr)。 shared_ptr shared_ptr 基本用法 shared_ptr采用引用计数的方式管理所指向的对象。当有一个新的shared_ptr指向同一个对象时(复制sh Read More
转载 2019-11-08 17:15:00
104阅读
看这里: http://blog..net/lollipop_jin/article/details/8499530 shared_ptr可以多线程同时读,但是涉及到写,需要加锁。 shared_ptr开销较大。 多个(5个以上)shared_ptr共享一个动态对象,那么每个shared_p
转载 2017-03-04 10:55:00
108阅读
2评论
文章目录智能指针简介shared_ptr智能指针对比普通指针基本用法其他用法智能指针引用计数为0,释放的对象是注意事项完整代码智能指针相关的函数总结weak_ptr基本用法常用函数用法环形引用问题shared_ptrweak_pt
转载 2021-07-01 11:45:17
587阅读
#include<iostream>#include<stdlib.h>#include<thread>#include<mutex>//C++11//shared_ptr:功能全,支持拷贝,引用计数。设计复杂,循环引用namespace juju{ template<class T> class shared_ptr...
来源:微信公众号「编程学习基地」文章目录智能指针简介shared_ptr智能指针对比普通指针基本用法其他用法智能指针引用计数为0,释放的对象是注意事项完整代码智能指针相关的函数总结weak_ptr基本用法常用函数用法环形引用问题shared_ptrweak_ptr详细示例智能指针简介为了解决C++内存泄漏的问题,C++1
原创 2022-01-25 10:08:30
367阅读
  • 1
  • 2
  • 3
  • 4
  • 5