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++智能指针之强、弱智能指针使用以及用弱智能指针解决强智能指针的循环(交叉)引用解决方法
强智能指针:资源每被强智能指针引用一次,引用计数+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
知识点杂碎集
1、C++11中
shared_ptr
的使用2、char_traits结构3、basic_ifstreammake_pair:templatepair4、assert5、存储类指定符auto-自动存储期。
bo_long
·
2020-08-18 05:36
基础知识记录
C++语法糖
std::bind的用法:给一个函数指针,加上固定的参数(不固定的参数用std::placeholders::_1、std::placeholders::_2来表示)std::
shared_ptr
的用法
smartcat2010
·
2020-08-18 02:29
算法工程
C++Shared_ptr指针使用
Shared_ptr
指针作用:通常new后需要delete,但是每次都要写delete比较麻烦,所以C11后就引入了
shared_ptr
指针的来自动delete。
这是小卢呀
·
2020-08-18 01:37
C++中基类继承 enable_shared_from_this 之后派生类无法使用 shared_from_this() 的解决方法
在很多情况下,我们会在基类中继承std::enable_shared_from_this来使得在该类的方法中能够使用
shared_ptr
托管的this指针。
XenonSec
·
2020-08-17 15:17
【C++ Primer 学习札记】使用new或者make_shared创建
shared_ptr
智能指针
shared_ptr
允许多个指针指向同一个对象创建并初始化一个
shared_ptr
智能指针的方式有四种:1.默认初始化2.make_shared3.new返回的指针4.其他类型的资源的指针(非
JinSu_
·
2020-08-17 12:49
《C++
Primer》学习札记
C++ 智能指针详解
2.智能指针的发展3.智能指针shared_ptr3.1创建
shared_ptr
实例3.2访问所指对象3.3拷贝和赋值操作3.4检查引用计数3.5reset函数4.智能指针weak_ptr4.1weak_ptr
—叶丶知秋
·
2020-08-17 05:59
C++
智能指针——unique_ptr、weak_ptr
文章目录1.shared_ptr1.特性2.reset()和release()3.特殊的拷贝和赋值4.向unique_ptr传递删除器2.weak_ptr1.shared_ptrunique_ptr也有于
shared_ptr
IT界的一大菜鸟
·
2020-08-17 02:57
C++
指针
内存管理
智能指针——
shared_ptr
文章目录1.p2.make_shared(param)、*p3.swap(p,q)、p.swap(q)4.p.use_count5.shared_ptrp(q)6.自动销毁所管理的对象文章来源于C++Primer的读后笔记众所周知,智能指针是模版,因此应在p1;默认初始化为空使用方式和普通指针一样(解引用、引用)支持功能代码实例:1.pintmain(){shared_ptrp;//默认初始化为空
IT界的一大菜鸟
·
2020-08-17 02:57
C++
c++
指针
C++智能指针会引起异常的几种情况
1,当两个对象相互使用
shared_ptr
成员变量指向对方,会造成循环引用,引用计数失效,从而导致内存泄露。
即将拂晓
·
2020-08-16 22:27
笔记
c++11之模板定义别名
C++11标准中可以为模板定义别名,比如templateusingptr=std::
shared_ptr
;//这里模板定义ptr为智能指针std::
shared_ptr
定义的别名所以实际应用中可以借此来简化代码
highnewrain
·
2020-08-16 21:52
C/C++
模拟实现shareptr 智能指针
shared_ptr
的原理通过引用计数的方式来实现多个
shared_ptr
对象之间共享资源例如:公司晚上会通知,最后走的员工把灯关掉
shared_ptr
在其内部,给每个资源都维护了着一份计数,用来记录该份资源被几个对象共享在对象被销毁时
李贰一
·
2020-08-16 19:03
C++知识总结
jaco ros package 移植到16.04下的记录
错误一:error:‘
shared_ptr
’innamespace‘std’doesnotnameatemplatetype解决:编译c++11的问题,在CMakeList.txt文件中,可以通过如下的语句来修改整个包编译是否支持
追风筝的鱼
·
2020-08-16 16:29
ros程序记录
C++ - 智能指针(smarter pointer)自定义删除器(deleter) 的方法 详解 及 代码
smarterpointer)自定义删除器(deleter)的方法详解及代码版权所有,禁止转载,如有需要,请站内联系本文地址:http://blog.csdn.net/caroline_wendy智能指针包含两种"
shared_ptr
weixin_34187862
·
2020-08-16 16:49
详解c++动态内存new/delete、智能指针
shared_ptr
、unique_ptr、weak_ptr
可编程内存基本上可分为以后三个大部分:静态存储区内存在程序编译的时候就已经分配好,这块内存在程序的整个运行期间都存在。保存局部static对象、类static数据成员以及任何定义在函数之外的变量(即全局变量或常量)。栈区在执行函数时,函数内局部非static变量的存储单元都可以在栈上创建,函数执行结束时这些存储单元自动被释放。栈内存分配运算内置于处理器的指令集中,效率很高,但是分配的内存容量有限。
王高1990
·
2020-08-16 15:47
c/c++
5.2c++:new、delete探秘,智能指针概述,
shared_ptr
基础部分、make_shared函数
一、new/delete探秘1、new,delete是什么sizeof关键字,不是一个函数。new,delete关键字,不是函数。malloc,free主要用于C语言,而new,delete用于C++编程,这两对都用于动态的在堆中分配和释放内存。new,delete会调用类的构造与析构函数,malloc与free比new和delete更底层。new/delete具备对堆上所分配内存进行初始化/释放
You图碧
·
2020-08-16 14:31
c++转载
5-2 new、delete探秘,智能指针概述、
shared_ptr
001newdelete探秘#include#include#include#includeusingnamespacestd;classA{public:A(){cout#include#include#include#includeusingnamespacestd;shared_ptrtestFunction(intvalue){//returnnewint();//error,不可以将ne
昔拉天使
·
2020-08-16 14:38
C++98
11
14
17
muduo实现简单了聊天功能(44-45)
chat/server_threaded.cc,多线程TcpServer,并用mutex来保护共享数据examples/asio/chat/server_threaded_efficient.cc,借
shared_ptr
laohan_
·
2020-08-16 13:56
Muduo
Library
Simple
C++日记——Day29:new、delete探秘,智能指针概述、
shared_ptr
基础
一、new/delete探秘1、new,delete是什么sizeof关键字,不是一个函数。new,delete关键字,不是函数。malloc,free主要用于C语言,而new,delete用于C++编程,这两对都用于动态的在堆中分配和释放内存。new,delete会调用类的构造与析构函数,malloc与free比new和delete更底层。new/delete具备对堆上所分配内存进行初始化/释放
lucky0han
·
2020-08-16 11:03
C++日记
C++入门到精通 ——第四章 智能指针
XFFer_文章目录四、智能指针01直接内存管理(new/delete)、创建新工程观察内存泄漏直接内存管理(new/delete)定义初值创建新工程,观察内存泄漏02new、delete探秘,智能指针概述、
shared_ptr
霖烨·XF
·
2020-08-16 11:11
C/C++
用区域生长方法进行平面分割
PointCloud);pcl::copyPointCloud(*cloudOri,*cloudOriVox);//Ori的写到Vox里了pcl::search::Search::Ptrtree=boost::
shared_ptr
xixibubaxiu
·
2020-08-16 10:50
shared_ptr
,weak_ptr源码解析
下面的代码是我在看了ubuntu16.04系统默认自带的stl源码后整理的
shared_ptr
和weak_ptr代码简洁版,为了容易理解去掉了一些基类,函数以及对多线程等情况的处理,对变量名和函数名也做了修改
shangming111
·
2020-08-16 08:33
c/c++
C++智能指针使用
包括:std::auto_ptr、boost::scoped_ptr、boost::
shared_ptr
、boost::scop
西_瓜_瓜
·
2020-08-16 04:23
C/C++
智能指针就这么简单
C++智能指针基础知识及其实现STL中的智能指针简介先定义一个类auto_ptr(T*)unique_ptr(T*)
shared_ptr
(T*)weak_ptr(T*)自己实现一个智能指针类模板成员变量构造函数
qq_30339595
·
2020-08-16 00:20
C++智能指针简单剖析
shared_ptr
的设计原理是什么?如果让你自己设计一个智能指针,你如何完成?等等……。而且在看开源的C++项目时,也能随处看到智能指针的影子。这说明智能指针不仅是面试官爱问的题材,更是非常
小敏纸
·
2020-08-15 23:24
C/C++编程
C++经典读书笔记
智能指针 std::auto_ptr 和
shared_ptr
转载:http://blog.sina.com.cn/s/blog_508938e10100f12x.htmlauto_ptr类可以用于管理由new分配的单个对象,但是无法管理动态分配的数组(我们通常不会使用数组,而是使用vector代替数组)。auto_ptr在拷贝和赋值的时候有不寻常的行为,因此auto_ptrs不能被保存在stl的容器中。当auto_ptr离开了自己的作用域或者被销毁,由au
ShenRui
·
2020-08-15 23:44
C++基础
STL
delete
vector
多线程
null
多线程读写数据方法之读写锁方法与shared_ptr+互斥锁方法的比较
shared_ptr
是一种用引用计数实现的智能指针,当计数为零时,它接管的对象会被销毁。利用这一点可以与互斥锁配合使用实现另外一种比读写锁更为高效的方法。方法如下:1:对于read端,在读之
limwz
·
2020-08-15 17:54
操作系统
c/c++
muduo
linux
C++的拖延战术:lazy evaluation
ReferenceCounting引用计数对于引用技术,相信大部分人都不觉得陌生,在C++中的智能指针
shared_ptr
便是利用这一技
xuqing-ICT
·
2020-08-15 05:32
C++
Primer
C++11智能指针
shared_ptr
对象内部指向两个内存,分别是目标对象的内存以及一个引用计数器。当
shared_ptr
关联到一个指针时,它会让引用计数器加1,当shared
BlackCarDriver
·
2020-08-15 05:27
C++
11新特征
上一页
13
14
15
16
17
18
19
20
下一页
按字母分类:
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
其他