码迷,mamicode.com
首页 >  
搜索关键字:删除器    ( 23个结果
cppPrimer学习16th
cppPrimer学习16th [TOC] TODO 16.1 16.2 16.8 16.12 16.19 16.20 16.21 16.26 16.27 16.28 16.31 cpp // 16.31 如果我们将DebugDelete 与 unique_ptr 一起使用,解释编译器将删除器处理为 ...
分类:其他好文   时间:2020-04-23 20:45:34    阅读次数:71
effective c++ 条款18:让接口容易被正确使用,不易被误用
记住: 好的接口容易被正确使用,不容易被误用。你应该在你的所有接口中努力达成这些性质。 促进正确使用的办法包括接口的一致性,以及与内置类型的行为兼容。 阻止误用的办法包括建立新类型,限制类型上的操作,束缚对象值,以及消除客户的资源管理责任。 tr1::shared_ptr支持定制型删除器。这可被用来 ...
分类:编程语言   时间:2018-06-23 19:05:03    阅读次数:144
【C++】智能指针简述(六):智能指针总结及补充
本文我们主要来总结一下前文介绍过的智能指针相关原理及实现,顺便补充一下前文未提到的shared_ptr删除器部分的内容. 总结: 1.智能指针,通过RAII机制,构造对象时完成资源的初始化,析构对象时,对资源进行清理和汕尾. 2.auto_ptr,防止拷贝/赋值对象后,析构时多次delete对象导致 ...
分类:编程语言   时间:2017-04-03 18:12:00    阅读次数:240
shared_ptr循环引用&定置删除器
shared_ptr虽然方便,但是它有着一个致命的缺陷就是循环引用问题,因为shared_ptr本身并没有能力解决这个问题,所以我们又引入了弱指针weak_ptr来辅助shared_ptr解决这个问题。那么循环引用又是什么场景?举个栗子:假设现在我们要创建一个双向整形链表,但是这个链表的指针域..
分类:其他好文   时间:2016-09-06 23:30:48    阅读次数:174
shared_array
1、上次写的删除器有些问题:template<classP,classD> classsp_counted_impl_pd:publicsp_counted_base{ public: sp_counted_impl_pd(Pp,Dd):ptr(p),del(d){} public: voiddispose(){ del(ptr);//就是这里,将对象用作函数!!! } private: Pptr; Ddel; };del(ptr)->..
分类:其他好文   时间:2016-07-31 16:12:51    阅读次数:167
shared_ptr(下) 删除器
1、shared_ptr中的px出现原因方便对其数据空间的管理,取值和获取地址将极大的方便我们的操作。2、解决析构函数避免内存空间的泄漏。new出来的空间都没有释放掉!释放拥有权靠的是引用计数。~shared_count(){ if(pi){//判断所指父类是否为空 pi->release();//释放new出来的..
分类:其他好文   时间:2016-07-31 08:01:46    阅读次数:402
RAII&智能指针
RAII:资源分配及初始化。但是这个翻译并没有显示出这个惯用法的真正内涵。RAII的好处在于它提供了一种资源自动管理的方式,当出现异常,回滚等现象时,RAII可以正确的释放资源。内存泄漏会导致:1.内存耗尽2.其他程序可能用不了了3.程序崩溃在资源的获取和释放之间,我们通常..
分类:其他好文   时间:2016-04-07 01:41:25    阅读次数:204
boost::shared_ptr与定制删除器
shared_ptrshared_ptr是一种智能指针,他的作用如同指针,但会记录有多少shared_ptr指向同一个对象。使用时必须引用头文件<boost/shared_ptr.hpp>template<classT> classShartedPtr { public: //构造函数 ShartedPtr(T*ptr) :_ptr(ptr) ,_pCount(newint(1)) {..
分类:其他好文   时间:2016-04-05 02:21:14    阅读次数:685
智能指针和异常
今天让我们来分析一下C++中的智能指针和异常,首先呢先普及一下概念!(1)智能指针:智能或者自动化的管理指针所会向的动态资源的释放。(2)异常:当一个函数发现自己无法处理的错误时,让函数的调用者直接或间接的处理这个问题。(3)RAII:资源分配即初始化。构造函数完成..
分类:其他好文   时间:2016-04-04 21:07:08    阅读次数:210
【智能指针的延伸】两种定制删除器的实现方法
所谓定制删除器,就是向目标模板提供一个可以自由选择析构的接口,这样做的好处就是可以使智能指针模板不再只能单独管理内存,我们还可以用它管理文件指针之类的东西。其实现方法有两种,这里我们以share指针为例。1.传递一个类的模板参数并给出缺省值,模板中将该类设定为成员..
分类:其他好文   时间:2016-03-28 00:29:28    阅读次数:252
23条   1 2 3 下一页
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!