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
智能指针auto_ptr
我的C++primer长征之路:动态内存
文章目录动态内存C++内存分配模型静态全局变量、全局变量、静态局部变量、局部变量的区别直接管理内存malloc/new、free/delete的区别
智能指针
shared_ptrunique_ptrweak_ptr
静待梅花开
·
2020-09-17 00:40
C\C++\Linux
c++
内存管理
Effective C++学习笔记(三)
条款13用对象来管理资源为防止资源泄露,使用资源管理对象来构造资源和析构资源,最好在获取资源的同时进行初始化(RAII)最常见的资源管理对象为
智能指针
,std::
auto_ptr
与std::shared_ptr
_Maple_H
·
2020-09-16 22:43
C++学习
一文梳理C++
智能指针
c++
智能指针
主要是解决内存管理的问题,比如我们newdelete需要成对的使用,否则会发生内存泄漏,
智能指针
很大程度上可以解决这个问题,
智能指针
是一个类,当超出了类的作用类时,类会自动调用析构函数进行释放
Robert Wang
·
2020-09-16 21:43
C++合集
处理管理共享对象指针的类—enable_shared_from_this(STL源码)
使用参考:https://blog.csdn.net/caoshangpa/article/details/79392878以下模板函数_Enable_shared被调用处为:
智能指针
被构造(_Resetp0
ztq小天
·
2020-09-16 19:11
智能指针
STL
智能指针
std::
auto_ptr
和tr1:shared_ptr用法
下面通过一个工厂函数(createInvestment())返回一个特定的investment对象:Investment*createInvestment();见如下函数:voidf(){Investment*pInv=createInvestment();....deletepInv;}上面的程序会有以下危险:1>...区域内的一个过早的return语句,控制流将不会触及delete语句2>或c
alibo2008
·
2020-09-16 14:57
c/c++
C++
智能指针
shared-ptr,unique_ptr和weak-ptr
C++11中的
智能指针
在C++11中有四种只能指针,
auto_ptr
,shared-ptr,unique_ptr和weak-ptr。其中
auto_ptr
有和多不足之处,在C++11中已经建议废弃使用。
yhcfly
·
2020-09-16 06:11
C/C++内存管理
C++11
android的
智能指针
在Android的源代码中,经常会看到形如:sp、wp这样的类型定义,这其实是Android中的
智能指针
。
智能指针
是C++中的一个概念,通过基于引用计数的方法,解决对象的自动释放的问题。
wangfucai
·
2020-09-16 06:19
Android
C++ boost
智能指针
weak_ptr
weak_ptr:weak_ptr是为了配合shared_ptr而引入的一种
智能指针
,它更像是shared_ptr的一个助手而不是
智能指针
,因为它不具有普通指针的行为,没有重载operator*和->,
Rain-晴天
·
2020-09-16 06:59
c++
智能指针
unique_ptr,shared_ptr,weak_ptr
c++中使用new在堆上创建的对象,必须使用delete进行销毁,否则就会内存泄漏。有时候你会不经意间忘记了delete。就算你没有忘记delete,而程序在delete之前出现异常,那就会造成delete语句没有执行。如下:int*pi=newint(10);//doSomethingdeletepi;如果doSomething出现了异常,就会造成deletepi不能执行,从而造成内存泄露。所以
褚金辉
·
2020-09-16 05:33
boost
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
为了更加容易(更加安全)的使用动态内存,引入了
智能指针
的概念。
智能指针
的行为类似常规指针,重要的区别是它负责自动释放所指向的对象。
你的游戏我的妃
·
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++
关于
智能指针
析构函数原理随笔(不能析构动态数组)
总所周知,在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++
share_ptr使用注意事项
智能指针
可以提供对动态内存安全而又方便的管理,但这建立在正确使用的前提下。为了正确使用
智能指针
,我们必须坚持一些基本规范。
zhubaohua_bupt
·
2020-09-16 00:05
C++
C++
智能指针
shared_ptr 和 unique_ptr浅析
文章目录C++
智能指针
shared_ptr和unique_ptr浅析1.入门1.1思路1.2实现2.shared_ptr和unique_ptr2.1基本的规则2.2`shared_ptr`的使用2.3unique_ptr2.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++
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
一般来说,
智能指针
的实现需要以下步骤:1.一个模板指针T*ptr,指向实际的对象。2.一个引用次数(必须new出来的,不然会多个shared_ptr里面会有不同的引用次数而导致多次delete)。
weixin_30378623
·
2020-09-16 00:56
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++内存泄漏的问题,C++11引入了
智能指针
(SmartPointer)。
六月的雨唯你
·
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模板实现原理
C++
智能指针
shared_ptr通过引用计数来管理指向的对象,不需要人工释放这篇博文主要是讲解了
智能指针
的实现原理,怎么实现引用计数#includeusingnamespacestd;namespaceshao_smart_point
2359_God
·
2020-09-15 23:20
C++
share_ptr使用
智能指针
与异常1)管理动态数组2)管理非常规动态对象总结:本文转载自:内存管理之Share_Ptr引子C++中动态内存的管理是通过new和delete来完成的
sinat_39628214
·
2020-09-15 23:56
内存管理
boost::share_ptr
智能指针
使用示例
本文出自“对影成三人”博客,请务必保留此出处http://ticktick.blog.51cto.com/823160/196765最近项目中使用boost库的
智能指针
,感觉
智能指针
还是蛮强大的,在此贴出自己学习过程中编写的测试代码
simtwo
·
2020-09-15 23:19
C++
智能指针
的一个实现(基于模板和Shared_ptr)
自己实现了一个C++的
智能指针
。
sesiria
·
2020-09-15 23:41
C++
智能指针
剖析(shared_ptr实现)
为什么需要
智能指针
防止new的时候忘记进行delete,出现异常时,不会执行delete,造成内存泄露。所以诞生了
智能指针
。防止内存泄漏,毕竟资源即对象。
Tisen.H.S
·
2020-09-15 23:53
C++
源码分析shared_ptr实现
智能指针
是C++中一项很常用的技术,合理的使用
智能指针
可以更方便的管理内存,降低内存泄漏的风险,这里只介绍C++11后官方的
智能指针
。
程序喵大人
·
2020-09-15 23:35
c++
智能指针
shared_ptr的实现
关于为什么要用
智能指针
,不需要做太多的赘述了。主要还是为了帮助管理申请的堆空间,程序员很有可能会忘了自己的申请空间。
MostHandsomeWang
·
2020-09-15 23:46
c/c++
auto_ptr
、shared_ptr、weak_ptr、scoped_ptr用法小结
auto_ptrauto_ptr是现在标准库里面一个轻量级的
智能指针
的实现,存在于头文件memory中,之所以说它是轻量级,是因为它只有一个成员变量(拥有对象的指针),相关的调用开销也非常小。
lollipop_jin
·
2020-09-15 23:28
c++
技术类
C++
智能指针
shared_ptr的实现
转自:http://www.cnblogs.com/xuelisheng/p/9739812.html#include#includeusingnamespacestd;templateclasssmart{private:T*_ptr;int*_count;//referencecoutingpublic://构造函数smart(T*ptr=nullptr):_ptr(ptr){if(_ptr)
hp_cpp
·
2020-09-15 23:28
C++
shared_ptr简单应用
一个好的建议是:坚持只使用
智能指针
,就可以避免忘记delete造成的内存泄露,避免同一块内存被释放两次的问题。对于一块内存,只有在没有任何
智能指针
指向它的情况下才会自动释放它。shared_p
祁连山牧羊人
·
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++
c++11
智能指针
(二):shared_ptr和自定义的Deleter
本节讨论怎样使用std::shared_ptr自定义Deleter.当一个shared_ptr对象超出作用域时,其析构函数被调用,在析构函数中,将其引用计数减1,如果引用计数的值变为0,则删除关联的原始指针。要删除析构函数中的内部原始指针,默认情况下,shared_ptr调用delete()函数,即deletePointer;但是,我们在析构函数中并不总是要使用delete函数,还可能有其他的需求
小麒麟666
·
2020-09-15 22:01
c/c++
C++11智能指针
[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++
编程语言
动态内存与
智能指针
程序中内存分配有以下五种:栈区存放局部变量、函数参数等,由编译器自动分配,变量离开作用域后自动收回内存,可分配的内存空间较小。voidfunc(int_a);intmain(){inta=5;//局部变量a存放在栈区func(a);//参数值存放在栈区}堆区由程序员手动分配与回收,分配内存后生存期直到手动收回内存或程序终止,程序终止后由OS收回内存。可分配的内存空间大。int*p=newint(5
River_Lethe
·
2020-09-15 22:56
C++
Primer
读书笔记
C++Primer :第十二章:shared_ptr和new的结合使用
shared_ptr和new的结合使用如果我们不初始化一个
智能指针
,它就会被初始化为一个空指针,我们可以用new返回的指针来初始化
智能指针
接受指针参数的
智能指针
构造函数是explicit的。
不会code的菜鸟
·
2020-09-15 21:49
C++学习笔记
C++基础 -
智能指针
shared_ptr 和 new 结合使用
//shared_ptr和内置指针结合使用,慎重voidprocess(shared_ptrptr){coutp1=newint(1024);//错误,explicit构造函数,不能进行隐式转换shared_ptrp2(newint(1024));//通过指针初始化shared_ptrprocess(p2);intvalue=*p2;//有效p2.reset(newint(100));//p2释放
klbc
·
2020-09-15 21:56
C++智能指针
C++
C++基础
c++
指针
浅谈shared_ptr及shared_ptr涉及到的循环引用问题
起初在C++标准库里面是没有
智能指针
的,直到C++11才加入了shared_ptr和unique_ptr以及weak_ptr。
小葱1024
·
2020-09-15 21:01
c++语言
计数
智能指针
要点(shared_ptr)
智能指针
大大减少了犯错的机会,简化代码,提高可维护性。
cd2108006026
·
2020-09-15 21:40
boost-asio
为什么使用std::make_shared
本文首发于公众号CPP编程目录为什么使用std::make_shared减少重复代码效率更高异常安全为什么使用std::make_sharedstd::shared_ptr是常用的
智能指针
,建立一个shared_ptr
SuWanWorld
·
2020-09-15 16:42
C++进阶
c++
C++11使用make_shared的优势和劣势
C++11中引入了
智能指针
,同时还有一个模板函数std::make_shared可以返回一个指定类型的std::shared_ptr,那与std::shared_ptr的构造函数相比它能给我们带来什么好处呢
yagerfgcs
·
2020-09-15 15:40
#
01-C&C++
开源一个C++自动垃圾回收器
blinkgc能让C++拥有java一样的垃圾回收机制,只要按照规范,让你的类继承blinkgc规定的基类,并且写上trace函数,就能拥有自动垃圾回收能力,并且无需担心
智能指针
那种循环引用引起的无法回收
龙泉寺扫地僧
·
2020-09-15 15:25
智能指针
总结
在这种背景下,
智能指针
应运而生。
智能指针
的最终的目的是将一块内存交给一个托管对象,内存何时释放由托管对象来决定,而对对象的访问也使用托管对象来实现。
moonfiend
·
2020-09-15 14:15
通用编程技术
上一页
27
28
29
30
31
32
33
34
下一页
按字母分类:
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
其他