E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
shared_Ptr
C++ 智能指针类
这篇文章主要来源于:codeguru网站的一篇文章:ATR1tutorial:smartpointer(详细介绍了C++的智能指针,尤其是
shared_ptr
)。
heyabo
·
2020-08-25 00:35
C/C++
C++11智能指针
shared_ptr
文章目录1.new+delete1.1内存的分配1.2delete释放堆内存2智能指针之共享指针:shared_ptr2.1创建一个智能指针:
shared_ptr
、make_shared2.2检查创建的智能指针是否成功创建
hancoder
·
2020-08-25 00:30
C++
C++四种智能指针小结
C++四种智能指针auto_ptr、scope_ptr、
shared_ptr
和weak_ptr。
e5Max
·
2020-08-25 00:45
C/C++
项目实战
C++的四种智能指针
C++的四种智能指针:auto_ptr,
shared_ptr
,weak_ptr,unique_ptr1.auto_ptr(C++11已弃用)2.unique_ptr(替换auto_ptr)3.shared_ptr4
SunSachin
·
2020-08-25 00:29
C++
c++里面的四种智能指针以及代码实现
C++里面的四个智能指针:auto_ptr,
shared_ptr
,weak_ptr,unique_ptr其中后三个是c++11支持,并且第一个已经被11弃用。
scut_yp
·
2020-08-25 00:27
c++
STL 智能指针
转自:https://blog.csdn.net/k346k346/article/details/81478223STL一共给我们提供了四种智能指针:auto_ptr、unique_ptr、
shared_ptr
weixin_30843605
·
2020-08-25 00:21
几种智能指针的使用
shared_ptr
初始化方式:make_shared方法:templateshared_ptrmake_shared(Args&&...args);std::shared_ptrfoo=std::make_shared
小飞将
·
2020-08-25 00:49
C++
Primer
C++11中的四种智能指针
前言C++STL提供了四种智能指针:auto_ptr、unique_ptr、
shared_ptr
和weak_ptr。
LTQblog
·
2020-08-25 00:38
c++
C++ 四种智能指针详解
智能指针有四种,包括auto_ptr,
shared_ptr
,unique_ptr,weak_ptr,其中auto_ptr已经被C++11废弃,所以放在最后介绍。
Giser_D
·
2020-08-25 00:22
C++
c++几种智能指针比较
只能移动unique_ptr,即对资源管理权限可以实现转移
shared_ptr
是一个标准的共享所有权的智能指针,允许多个指针指向同一个对象,在使用引用计数的机制上
pan-ma
·
2020-08-25 00:46
C/C++
Effective C++条款18~19
3、”阻止误用“的方法包括建立新类型、限制类型上的操作,束缚对象值,以及消除客户的资源管理责任4、tr1::
shared_ptr
支持定制型删除器。可以防范DLL问题,可被用来自动解除互斥锁等。
Dylan_young
·
2020-08-24 17:59
C++
effective c++ 条款14 在资源管理类中小心copying行为
并不是所有的资源都是head-based,换句话说并不是tr1::
shared_ptr
和auto_ptr永远适合做为资源的管理者,所以我们自己要建立自己的资源管理类。
weixin_33725126
·
2020-08-24 17:13
[Effective C++ --014]在资源管理类中小心copying行为
通常情况下使用std中的auto_ptr(智能指针)和tr1::
shared_ptr
(引数智能指针)作为管理资源的对象。事实上,这种管理方法十分有效。
weixin_30768661
·
2020-08-24 17:52
读书笔记《Effective C++》条款14:在资源管理类中小心copying行为
条款13导入这样的观念:“资源取得时机便是初始化时机(RAII)”,并以此作为“资源管理类”的脊柱,也描述了auto_ptr和
shared_ptr
如何将这个观念表现在heap-based资源上。
Do-Program
·
2020-08-24 16:21
C++
读书笔记《Effective c++》 条款14 在资源管理类中小心copying行为
还好
shared_ptr
可以解决这个问题,将指向资源的指针换成是
shared_ptr
指针,这样,我们不需要关心具体什么时候释放资源,因为在所有
shared_ptr
都失效之后资源会自动释放。
木头刀
·
2020-08-24 16:21
C++
读书笔记
shared_ptr
的 deleter, weak_ptr.lock 在多线程的运用举例
1.shared_ptr的删除器(deleter)可以在
shared_ptr
的构造函数和reset函数里面给
shared_ptr
加入deleter。
jiangdewei2012
·
2020-08-24 14:07
技术
Effective C++ 条款14 在资源管理类中小心copying行为
1.条款13导入RAII的观念:资源获取时机便是初始化时机,资源会在不需要的时刻被销毁,典型代表就是
shared_ptr
和weak_ptr,但是并非所有资源都是堆内存,例如外存和堆栈,在这种情况下,auto_ptr
ddzai7557
·
2020-08-24 12:15
c/c++
Effective C++_读书笔记_103
以对象管理资源为防止资源(内存,文件描述符,socket,mutex等)泄露,请使用RAII,即在构造函数中获取资源并在析构函数中释放资源.不要使用auto_ptr,因其复制动作会使得被复制物指向null,应使用
shared_ptr
FlyingPig_
·
2020-08-24 04:40
C++ 智能指针
目录1.产生的原因-内存泄漏2.智能指针简介3.auto_ptr4.unique_ptr5.shared_ptr6.weak_ptr参考链接:智能指针、auto_ptr参考、
shared_ptr
参考1.
奶罐
·
2020-08-23 21:39
C++
智能指针
内存泄漏
shared_ptr
循环引用
Effective C++ Chapter4-设计与声明
tr1::
shared_ptr
支持定制型删除器(customdeleter)。可以解决DLLs问题,可被用来自动解决互斥锁见14。
寒冰豌豆
·
2020-08-23 21:23
【UE4】智能指针 与 普通指针
目录智能指针与普通指针相互转换智能指针转普通指针普通指针转智能指针智能指针与普通指针相互转换以TSharedPtr和FString转换为例TSharedPtrshared_Ptr;FString_ptr;智能指针转普通指针_ptr=*shared_Ptr.Get();普通指针转智能指针
shared_Ptr
Mr_约科
·
2020-08-23 17:33
UE4实践随笔
CUDA 进阶编程 Thrust库使用-算法与迭代器
但是注意,这个不是类似auto_ptr,也不是类似
shared_ptr
,只是为了类型安全做的简单的封装,从device_ptr的源码里面,我们没有看到对应的析构代码size_tN=10;thrust::
linyilong3
·
2020-08-23 06:15
C++
CUDA
Linux平台 C++
shared_ptr
和weak_ptr实现对象资源的管理
一、前言
Shared_ptr
采用引用计数实现自动化资源管理,当引用计数降为0时,对象(资源)即被销毁。weak_ptr也是一个引用计数型的智能指针,但是它不增加对象的引用计数,即弱(weak)引用。
CC 公众号: hw_cchang
·
2020-08-23 05:39
C++后台开发
两种智能指针的简单实现
C++11的智能指针确实带来了很多方便,但是
shared_ptr
因为要维护很多元信息,会牺牲一些效率,如果大量使用智能指针,一定不要忘记开启编译器的优化选项。。
chnmagnus
·
2020-08-22 20:54
面试3
blog.csdn.net/lishun1422840684/article/details/1000136842.linux下的一些常用命令3.有哪些智能指针,有什么区别C++11中提供了三种智能指针,分别是
shared_ptr
很黑的黑
·
2020-08-22 12:27
笔试面试题
shared_ptr
创建时即捕获析构动作,何解?
实际代码操作了一下,发现确实通过
shared_ptr
去释放派生类对象,无需将析构函数置为virtual,代码如下:#include#includeusingnamespacestd;classbase{
曈默生
·
2020-08-22 09:58
Linux多线程服务端编程
c++
c++
智能指针
shared_ptr
C++智能指针简单剖析
shared_ptr
的设计原理是什么?如果让你自己设计一个智能指针,你如何完成?等等……。而且在看开源的C++项目时,也能随处看到智能指针的影子。
FDCFDMin
·
2020-08-21 22:01
C/C++笔迹
C++弱引用智能指针weak_ptr的用处
与之相对,
shared_ptr
是强引用,只要有一个指向对象的
shared_ptr
存在,该对象就不会析构,直到指向对象的最后一个
shared_ptr
析构或reset()时才会被销毁。
li27z
·
2020-08-21 19:59
C/C++
C++智能指针之强、弱智能指针使用以及用弱智能指针解决强智能指针的循环(交叉)引用解决方法
强智能指针:资源每被强智能指针引用一次,引用计数+1,释放引用计数-1,如
shared_ptr
;弱智能指针:仅仅起到观察作用,观察对象释放还存在,也就是说对象的引用计数是否等于0,如weak_ptr.强智能指针的使用
KingOfMyHeart
·
2020-08-21 18:53
C++11常用特性
智能指针
C++弱引用智能指针weak_ptr的用处
与之相对,
shared_ptr
是强引用,只要有一个指向对象的
shared_ptr
存在,该对象就不会析构,直到指向对象的最后一个
shared_ptr
析构或reset()时才会被销毁。利用wea
heary29
·
2020-08-21 17:04
C++
c++
极简版
shared_ptr
实现
程序如下:头文件:#ifndefPCH_H#definePCH_H#include#includeusingnamespacestd;classlike_shared_ptr{public://交换函数friendvoidswap(like_shared_ptr&,like_shared_ptr&);//比较like_shared_ptr大小函数friendboolcomparesize(cons
小屁孩哟
·
2020-08-20 20:53
C++
muduo库使用示例之聊天服务器(下)
借用
shared_ptr
实现copyonwriteshared_ptr是引用计数智能指针,如果当前只有一个观察者,那么引用计数为1,可以用
shared_ptr
::unique()来判断对于共享资源有两个端
guojawee
·
2020-08-20 19:48
Muduo库源码剖析
shared_ptr
shared_ptr
模板类有一个__shared_count类型的成员_M_refcount来处理引用计数的问题。
bazingaz
·
2020-08-20 15:57
C/C++
读书笔记《C++ Primer》第五版——第十二章 动态内存
shared_ptr
和unique_ptr都支持的操作操作备注shared_ptrspunique_ptrup空智能指针p若p指向一个对象,条件判断返回true*p解引用,获取指向对象p->mem等价于
书中玉
·
2020-08-20 07:34
C++
【读书笔记:C++ primer plus 第六版 中文版】第16章 string类和标准模板库
转载请注明出处:http://blog.csdn.net/enyusmile/article/details/48677679本章内容包括:标准C++string类模板auto_ptr,unique_ptr和
shared_ptr
enyusmile
·
2020-08-20 05:46
C/C++
读书笔记
C++
primer
plus
第六版
读书笔记重点
C++Primer第5版读书笔记(第12章)
第12章动态内存12.1动态内存与智能指针
shared_ptr
允许多个指针指向同一个对象;unique_ptr则“独占”所指向的对象。
xhjh
·
2020-08-20 05:13
C++
第十二章 12.1.1节练习
因为使用
shared_ptr
的目的,就是程序需要在多个对象间共享数据。所以,这两个对象的数据是共享的。练习12.2编写你自己的StrBlob类,包含const
听枫烨阁
·
2020-08-20 05:52
C++
primer
5ed
C++ Primer : 第十二章 : 动态内存之
shared_ptr
类实例:StrBlob类
StrBlob是一个管理string的类,借助标准库容器vector,以及动态内存管理类
shared_ptr
,我们将vector保存在动态内存里,这样就能在多个对象之间共享内存。
Mccreejia
·
2020-08-20 05:00
C++
share_ptr 的 知识梳理
shared_ptr
基于“引用计数”模型实现,多个
shared_ptr
可指向同一个动态对象,并维护了一个共享的引用计数器,记录了引用同一对象的shared_
古人说
·
2020-08-20 02:08
C++
基础知识
regex_t型智能指针引起的内存泄漏问题分析
比如,定义一个int型的
shared_ptr
并申请一块内存
shared_ptr
(int)pint(newint),如果给pint重新赋值,或者出pint的作用域,那么,pint原来指向的内存会自动释放,
春日绿野
·
2020-08-19 20:40
内存
gyctf_2020_foolish_query(C++中的shared ptr指针的误用)
foolish_query(C++中的sharedptr指针的误用)首先,检查一下程序的保护机制然后,我们用IDA分析一下,在Query的构造函数中,如果我们查询的name存在,则将对应的对象从容易里取出,获得其
shared_ptr
haivk
·
2020-08-19 19:05
pwn
二进制漏洞
CTF
C++11 - std::
shared_ptr
初始化的几种方式
1std::
shared_ptr
初始化的几种方式这里只总结一下std::
shared_ptr
初始化的几种方,不对std::
shared_ptr
的优缺点进行说明,初始化的方式比较多,平时码字的时候经常会搞迷糊
HW140701
·
2020-08-19 16:32
#
C++智能指针
C++ Primer 第13章答案
习题13.2参数应该是Sales_data&类型习题13.3当我们拷贝StrBlor时,
shared_ptr
成员use_co
原石小珂
·
2020-08-19 10:41
C++
c++ 实现对象池
include#includeusingnamespacestd;staticconstexprint32_tpool_step=3;templateclassObjPool{usingshared_obj_t=
shared_ptr
jlaij
·
2020-08-19 09:40
游戏开发
c/c++
C++智能指针实现(
shared_ptr
, non-intrusive reference count)
题计根据上编智能指针好文中counted_ptr.h,实现智指针。智能指针实现的方式(下面代码按照该方式实现)代码#includeclassData{public:Data(intdata):data(data){}~Data(){std::coutclassSmartPtr{public://明确/显示构造,不支持SmartPtrs=newT();explicitSmartPtr(T*obj=n
summer_sunrise
·
2020-08-18 22:44
C/C++
shared_ptr
基于引用计数智能指针实现
智能指针是什么简单来说,智能指针是一个类,它对普通指针进行封装,使智能指针类对象具有普通指针类型一样的操作。具体而言,复制对象时,副本和原对象都指向同一存储区域,如果通过一个副本改变其所指的值,则通过另一对象访问的值也会改变.所不同的是,智能指针能够对内存进行进行自动管理,避免出现悬垂指针等情况。普通指针存在的问题C语言、C++语言没有自动内存回收机制,关于内存的操作的安全性依赖于程序员的自觉。程
NicolasYan
·
2020-08-18 19:21
C++
C++
C++后端面试(3):智能指针||Android智能指针
智能指针在C++11版本之后提供,包含在头文件中,
shared_ptr
、unique_ptr、weak_ptr文章目录0.智能指针介绍0.1原理1.智能指针1.1shared_ptr2.unique_ptr3
CoomCon
·
2020-08-18 19:55
#
面试
boost
shared_ptr
及C++内存管理的一些总结
先从实际问题开始讨论,有个视频采集线程,采集到一帧视频数据,这帧数据要给存储模块(线程)、RTSP模块,RTMP模块使用。像这样的情况,内存的申请是在采集线程,但释放就不能是在采集线程了,所以要实现,谁最后使用,谁释放。如图所示:需求明确,但是代码怎么实现呢?答案是用到智能指针实现!智能指针又是怎么实现呢?智能指针使用引用技术实现,当指针传递时,引用加1,当指针使用结束,引用减1,如果引用数等于0
yuanzhenhai
·
2020-08-18 18:07
C/C++笔记
流媒体
shared_ptr
智能指针缺陷的解决方法
在上一篇博客【C++:智能指针】中详细介绍了C++中的一些智能指针,其中,
shared_ptr
智能指针有三个缺陷:线程不安全;管理资源能力单一:不能管理malloc出来的资源,不能管理文件指针;可能会产生循环引用的问题
Heaphaestus,RC
·
2020-08-18 16:16
C++
C++11 make_shared 使用
shared_ptrp3=make_shared();尽量使用make_shared初始化C++11中引入了智能指针,同时还有一个模板函数std::make_shared可以返回一个指定类型的std::
shared_ptr
夏洛的克
·
2020-08-18 06:15
C/C++
指针
c++11
上一页
12
13
14
15
16
17
18
19
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他