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
PTR
C++11智能指针 shared_
ptr
,unique_
ptr
和weak_
ptr
的理解
简要描述shared_
ptr
允许多个指针指向同一个对象unique_
ptr
独占所指向的对象weak_ptrshared_
ptr
的弱引用shared_
ptr
描述(inmemory):shared_
ptr
是一个标准的共享所有权的智能指针
gcc2018
·
2020-09-16 05:20
[内存管理]智能指针的好帮手weak_
ptr
weak_
ptr
是为配合shared_
ptr
而引入的一种智能指针,它更像是shared_
ptr
的一个助手,而不是智能指针,因为它不具有普通指针的行为,没有重载operator*和operator->,它的最大作用在于协助
ajioy
·
2020-09-16 05:24
MFC/STL/Boost
C++11之智能指针 shared_
ptr
/unique_
ptr
/weak_
ptr
shared_
ptr
我们可以认为每个shared_
ptr
都有一个关联的计数器,通常称其为引用计数,无论何时我们拷贝一个shared_
ptr
,计数器都会递增。
你的游戏我的妃
·
2020-09-16 05:25
C/C++
C++ 智能指针auto_
ptr
、unique_
ptr
、shared_
ptr
、weak_
ptr
转自:https://www.nowcoder.com/tutorial/93/a34ed23d58b84da3a707c70371f59c21智能指针的作用是管理一个指针,因为存在以下这种情况:申请的空间在函数结束时忘记释放,造成内存泄漏。使用智能指针可以很大程度上的避免这个问题,因为智能指针就是一个类,当超出了类的作用域是,类会自动调用析构函数,析构函数会自动释放资源。所以智能指针的作用原理就
chomol
·
2020-09-16 05:25
个人mark
C++
C语言以数据块的形式读写文件
fread()的原型为:size_tfread(void*
ptr
,size_tsi
superywf
·
2020-09-16 03:26
关于智能指针析构函数原理随笔(不能析构动态数组)
总所周知,在std中有着auto_
ptr
和shared_
ptr
,其中auto_
ptr
是只允许被一个指针所使用,即“受auto_ptrs管理的资源必须绝对没有一个以上的auto_
ptr
同时指向它”,也就是无论是拷贝构造或者赋值时都会让原来的指针为
昨夜的秋天
·
2020-09-16 02:47
C++随笔
shared_
ptr
与weak_
ptr
(解决循环引用)
原创:https://blog.csdn.net/ingvar08/article/details/79200424shared_
ptr
是带引用计数的智能指针,可以说大部分的情形选择用shared_
ptr
znzxc
·
2020-09-16 00:12
c++
shared_
ptr
做资源删除器
=NULL){cout(newdialog_t,deleter_t{});p->fun();}getchar();return0;}利用shared_
ptr
管理资源高级用法voidany_func(void
Derek_0101
·
2020-09-16 00:11
C++
share_
ptr
使用注意事项
1避免同一块内存绑定到多个独立创建的shared_
ptr
上,因此要不使用相同的内置指针初始化(或reset)多个智能指针,不要混合使用智能指针和普通指针,坚持只用智能指针。
zhubaohua_bupt
·
2020-09-16 00:05
C++
c++11之std::shared_
ptr
剖析
一、概述c++11中std::shared_
ptr
提供一种多个栈对象协作管理同一个堆对象的机制。以便在堆对象没有被引用的情况下将其free。
ypy9323
·
2020-09-16 00:36
boost
库与stl
C++11:再谈shared_
ptr
,以及shared_
ptr
参数传递以及构造细节
本文根据众多互联网博客内容整理后形成,引用内容的版权归原始作者所有,仅限于学习研究使用shared_
ptr
在boost库中已经有多年了,C++11又为其正名,把他引入了STL库,放到了std的下面,可见其颇有用武之地
zzhongcy
·
2020-09-16 00:20
C++
11
C++ 智能指针shared_
ptr
和 unique_
ptr
浅析
文章目录C++智能指针shared_
ptr
和unique_
ptr
浅析1.入门1.1思路1.2实现2.shared_
ptr
和unique_
ptr
2.1基本的规则2.2`shared_
ptr
`的使用2.3unique_
ptr
2.4
xdesk
·
2020-09-16 00:19
C++语言编程
c++
C++ shared_
ptr
的模拟实现
一、shared_
ptr
的模拟实现我在之前的博客《智能指针》中有说过shared_
ptr
的原理,那么这篇博客,我们模拟实现一个shared_
ptr
,让大家能更好的理解它的原理。
镜中月ss
·
2020-09-16 00:17
C++
c++
Shared_
ptr
简单实现
/*@author:wcx@task:shared_
ptr
实现*/#includeusingnamespacestd;namespaceP{templateclassShared_
ptr
{public:
苏大强太强了
·
2020-09-16 00:58
c++
[C++11]shared_
ptr
效率比较
我实现的网络库中使用了C++11中的shared_
ptr
.昨天做profile,发现很多CPU都消耗在shared_
ptr
上,所以打算看看shared_
ptr
的效率如何.实验是这样的,弄一个临时的shared_
ptr
weixin_34216196
·
2020-09-16 00:55
C++——智能指针shared_
ptr
的实现
起初,我最直观的设计想法,直接设计一个类:包含全部要素(对象,指针计数)。然后提供出去。1classCPoint2{3public:4CPoint(intxVal=0,intyVal=0):x(xVal),y(yVal){}5intgetX()const{returnx;}6intgetY()const{returny;}7voidsetX(intxVal){x=xVal;}8voidsetY(i
weixin_30871905
·
2020-09-16 00:55
c/c++
实现一个简单的shared_
ptr
翻看以前的代码的时候发现一个shared_
ptr
的简单实现。我记得是网上的一篇例子(好像改了一点),但是又懒得找出处了╮(╯▽╰)╭。觉得这份代码足以用来初步了解shared_
ptr
的实现了。
weixin_30378623
·
2020-09-16 00:56
C++ 之实现自己的 shared_
ptr
/*shared_
ptr
.h文件*//*********************************************************>FileName:shared_
ptr
.h>Author
weixin_30332241
·
2020-09-16 00:22
c/c++
C++之shared_
ptr
总结
Share_
ptr
也是一种智能指针。类比于auto_
ptr
学习。所以推荐先学习auto_
ptr
,再来学习shared_
ptr
。本博客的前两个就是auto_
ptr
的总结。希望感兴趣的朋友可以看看。
jqdy
·
2020-09-15 23:23
C/C++
【C++手撸代码】实现一个shared_
ptr
最近面试题有遇到这个题,让你手撸个shared_
ptr
参考:实现一个简单的shared_
ptr
智能指针原理及实现(1)shared_
ptr
写的很棒,学习一波。
yh_cheer
·
2020-09-15 23:23
C++
shared_
ptr
使用
C++11提供了三种智能指针:std::shared_
ptr
,std::unique_
ptr
,std::weak_
ptr
,使用时需添
六月的雨唯你
·
2020-09-15 23:15
C++
C++智能指针 shared_
ptr
与 weak_
ptr
原理
注:源代码摘自GNUC++,除此之外为原创,转载请注明出处。欢迎关注[懒人漫说]公众号,分享Java、Android、C/C++技术,包括基础、自己遇到的问题解决过程。当然如果关注并留言问题的话,我们力所能及的话会帮你解决并回复哟。我们和你一样,是正在成长的程序员,我们也会分享自己的成长路上的感想,希望可以和你一起努力成长。//Copyright(C)2007-2016FreeSoftwareFo
storm_zy
·
2020-09-15 23:12
C++
C++基础 - 智能指针 shared_
ptr
的引用计数
智能指针shared_
ptr
的引用计数,详见代码及说明//shared_
ptr
的几种初始化方式shared_ptrp1;//nullshared_ptrp2=make_shared();//非null,
klbc
·
2020-09-15 23:38
C++基础
C++
C++智能指针
c++
指针
C++ shared_
ptr
允许多个shared_
ptr
对象通过引用计数器管理同一块堆内存。
helpdoc
·
2020-09-15 23:37
C++
C++11
shared_ptr
C++ 智能指针shared_
ptr
模板实现原理
C++智能指针shared_
ptr
通过引用计数来管理指向的对象,不需要人工释放这篇博文主要是讲解了智能指针的实现原理,怎么实现引用计数#includeusingnamespacestd;namespaceshao_smart_point
2359_God
·
2020-09-15 23:20
C++
share_
ptr
使用
内存管理之share_
ptr
引子初始化sahred_
ptr
关于get()函数关于make_shared函数:shared_
ptr
的拷贝和赋值容器中的shared_
ptr
-记得用erease节省内存状态共享
sinat_39628214
·
2020-09-15 23:56
内存管理
boost::share_
ptr
智能指针使用示例
本文出自“对影成三人”博客,请务必保留此出处http://ticktick.blog.51cto.com/823160/196765最近项目中使用boost库的智能指针,感觉智能指针还是蛮强大的,在此贴出自己学习过程中编写的测试代码,以供其他想了解boost智能指针的朋友参考,有讲得不正确之处欢迎指出讨论。当然,使用boost智能指针首先要编译boost库,具体方法可以网上查询,在此不再赘述。智能
simtwo
·
2020-09-15 23:19
C++ 智能指针的一个实现(基于模板和Shared_
ptr
)
基于Shared_
ptr
来实现,支持默认构造,拷贝构造,移动构造,引用计数器,注意智能指针中存放的指针地址一旦被一个智能指针对象托管以后,不要再直接拿此地址来初始化其他对象,否则会引发多次泄漏的问题。
sesiria
·
2020-09-15 23:41
C++
C++ shared_
ptr
的实现
自己写了一个shared_
ptr
的实现。如有错漏,还望指摘。(PS:我最近突然在想,是不是应该用锁而不是原子类?因为原子类没办法和指针一起绑定成原子操作。
木凡辰
·
2020-09-15 23:53
C++学习笔记
c++
智能指针
智能指针剖析(shared_
ptr
实现)
为什么需要智能指针防止new的时候忘记进行delete,出现异常时,不会执行delete,造成内存泄露。所以诞生了智能指针。防止内存泄漏,毕竟资源即对象。泛型指针(1)指void*指针,可以指向任意数据类型,因此具有“泛型”含义。(2)指具有指针特性的泛型数据结构,包含泛型的迭代器、智能指针等。广义的迭代器是一种不透明指针,能够实现遍历访问操作。通常所说的迭代器是指狭义的迭代器,即基于C++的ST
Tisen.H.S
·
2020-09-15 23:53
C++
源码分析shared_
ptr
实现
智能指针的种类unique_ptrshared_ptrweak_
ptr
关于智能指针使用以及区别可以自行查找资料,这里主要介绍智能指针的实现原理shared_
ptr
的实现我们平时看文档都知道shared_
ptr
程序喵大人
·
2020-09-15 23:35
c++
智能指针shared_
ptr
的实现
提供的智能指针包括auto_
ptr
、unique_
ptr
、weak_
ptr
、shared_
ptr
几中。其中auto_
ptr
最弱,建议不要使用。
MostHandsomeWang
·
2020-09-15 23:46
c/c++
shared_
ptr
原理分析及实现
原理分析内存管理历来是C++编程的一项需要小心费力气的活,因为C++本身不带GC机制,所有的内存管理都需要我们手动实现,从malloc/free到new/delete,再到allocator的出现,无非都是为了更合理简单的避免内存泄露。指针本身是一个用法十分灵活并且功能强大的工具,然而它对内存的直接掌控也使得它不得不常常背起内存泄露的黑锅,因为忘记删除指针或者将一个指针删除两次的错误往往十分隐蔽,
peng864534630
·
2020-09-15 23:28
STL
auto_
ptr
、shared_
ptr
、weak_
ptr
、scoped_
ptr
用法小结
auto_ptrauto_
ptr
是现在标准库里面一个轻量级的智能指针的实现,存在于头文件memory中,之所以说它是轻量级,是因为它只有一个成员变量(拥有对象的指针),相关的调用开销也非常小。
lollipop_jin
·
2020-09-15 23:28
c++
技术类
shared_
ptr
使用最大误区
#include#includeusingnamespacestd;intmain(){int*p5=newint;std::shared_ptrp6(p5);std::shared_ptrp7(p5);//logicerrorreturn0;}这样一个代码,很多人都说有问题,可是我用了好几个编译器编译执行,都一点问题也没有,为什么
ptCsdn1212
·
2020-09-15 23:54
借助shared_
ptr
实现copy-on-write以提高多线程并发性能
锁竞争是服务器性能四大杀手之一(其他三个是:数据拷贝、环境切换、动态资源申请),本文将基于之前发布的kimgbo网络I/O库,以一个多线程群发聊天服务器的实现为例,介绍如何借助shared_
ptr
提高多线程并发的性能
kimg_bo
·
2020-09-15 23:11
Linux服务器端
shared_
ptr
循环引用问题以及解决办法
栗子#include#includeclassCB;classCA{public:CA(){std::cout&
ptr
){m_
ptr
_b=
ptr
;}voidb_use_count(){std::coutm_
ptr
_b
Ruo_Xiao
·
2020-09-15 23:06
C/Cpp
/
11
14
……
C++ 智能指针shared_
ptr
的实现
www.cnblogs.com/xuelisheng/p/9739812.html#include#includeusingnamespacestd;templateclasssmart{private:T*_
ptr
hp_cpp
·
2020-09-15 23:28
C++
023-【X86-汇编语言】-
PTR
伪指令
PTRPTR的作用有点像C语言的指针类型强制转换,比如定义一个DWORD,想用MOV指令将其低位2字节传入AX中,但汇编器会报类型不匹配的错误,使用
PTR
就能解决此问题。
EniacCheng
·
2020-09-15 23:52
shared_
ptr
简单应用
shared_
ptr
是C++共享指针,往往应用在动态分配内存的场景下。
祁连山牧羊人
·
2020-09-15 22:49
C++
primer
11学习
shared_
ptr
的相关使用
shared_
ptr
简介shared_
ptr
是一个**标准的共享所有权的智能指针。**它允许多个指针指向同一个对象,定义在memory文件内,命名空间为std。
WhiteJunior
·
2020-09-15 22:46
Interview
Preparation
C/C++
Self-Culture
Piecemeal
Knowledge
C++智能指针shared_
ptr
的实现
shared_
ptr
的实现智能指针对象中引用计数是多个智能指针对象共享的,两个线程中智能指针的引用计数同时++或–,这个操作不是原子的,引用计数原来是1,++了两次,可能只实际只有一个加生效了,引用计数是
loreal8
·
2020-09-15 22:41
C++
学习笔记:shared_
ptr
陷阱
条款1:不要把一个原生指针给多个shared_
ptr
管理int*
ptr
=newint;shared_ptrp1(
ptr
);shared_ptrp2(
ptr
);//logicerrorptr对象被删除了2
liuzhi1218
·
2020-09-15 22:37
C++
对unique_
ptr
与shared_
ptr
为nullptr时, 删除器的调用机制疑惑
先贴上代码:#include#includeautounique_deleter=[](int*p){std::coutpUniquePtr(nullptr,unique_deleter);//unique_
ptr
清海风缘
·
2020-09-15 22:05
C++
c++ shared_
ptr
指针实现
#include#include#includetemplateclassshared_
ptr
;templateshared_
ptr
&make_shared(TTs){shared_
ptr
*ss=newshared_
ptr
一技旁身
·
2020-09-15 22:02
c++
c++11智能指针(二):shared_
ptr
和自定义的Deleter
本节讨论怎样使用std::shared_
ptr
自定义Deleter.当一个shared_
ptr
对象超出作用域时,其析构函数被调用,在析构函数中,将其引用计数减1,如果引用计数的值变为0,则删除关联的原始指针
小麒麟666
·
2020-09-15 22:01
c/c++
C++11智能指针
C++11的shared_
ptr
有可能导致函数调用栈溢出
ConcurrencyinAction这本书提及的几个版本stack数据结构的实现,其中lockfree版本的实现时,需要精巧的内存回收机制,其中在介绍countreference内存回收机制时,作者认为shared_
ptr
风划雪月
·
2020-09-15 22:51
C++
[C++11]_[初级]_[shared_
ptr
的使用场景]
场景C++11之前,使用auto_
ptr
只能适用于new出来的对象,为此我还专门创建了一些工具类来释放对象.使用智能指针的方式释放malloc出来的堆空间,C++11出现后可以使用shared_
ptr
来管理
infoworld
·
2020-09-15 22:58
C++语言特性和标准库
智能指针原理分析与自己的shared_
ptr
实现
原理分析内存管理历来是C++编程的一项需要小心费力气的活,因为C++本身不带GC机制,所有的内存管理都需要我们手动实现,从malloc/free到new/delete,再到allocator的出现,无非都是为了更合理简单的避免内存泄露。指针本身是一个用法十分灵活并且功能强大的工具,然而它对内存的直接掌控也使得它不得不常常背起内存泄露的黑锅,因为忘记删除指针或者将一个指针删除两次的错误往往十分隐蔽,
ye_create
·
2020-09-15 22:54
C++
实践
C++智能指针: shared_
ptr
实现详解
文章目录shared_
ptr
描述声明作用原理实现函数使用关于shared_
ptr
循环引用问题shared_
ptr
描述声明shared_
ptr
属于C++11特性中新加的一种智能指针,它的实现方式是模版类,
v-code
·
2020-09-15 22:57
#
编程语言:C++
编程语言
上一页
42
43
44
45
46
47
48
49
下一页
按字母分类:
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
其他