码迷,mamicode.com
首页 >  
搜索关键字:智能指针    ( 834个结果
Item 14:资源管理类要特别注意拷贝行为 Effective C++笔记
Item 14: Think carefully about copying behavior in resource-managing classes. 在Item 13:使用对象来管理资源中提出了基于RAII的资源管理对象,auto_ptr和shared_ptr。 智能指针可以有不同的拷贝策略。当你实现这样一个资源管理对象时,需要特别注意。比如一个典型的RAII风格的互斥锁实现:...
分类:编程语言   时间:2015-08-27 11:14:40    阅读次数:205
C++11 智能指针
C++没有提供垃圾回收机制,C++11提供的智能指针能够在一定程度上解决C++内存泄漏的问题。C++11提供了共享智能指针(shared_ptr),独占智能指针(unique_ptr),弱引用指针指针(weak_ptr),使用时需要引用智能指针本质上存储动态分配(堆)对象的指正的模板类,用于对堆对象...
分类:编程语言   时间:2015-08-26 15:20:36    阅读次数:338
Item 13:使用对象(智能指针)来管理资源 Effective C++笔记
Item 13: Use objects to manage resources. 熟悉智能指针的人肯定不会对此觉得陌生。利用C++中对象自动析构的特性,自动地释放资源。 C++编译器并未提供自动的垃圾回收机制,因此释放资源的责任落在了开发者的头上。 我们被要求总是成对地使用new和delete,例如: Investment *pInv = createInvestment(); ...
分类:编程语言   时间:2015-08-26 14:05:26    阅读次数:234
智能指针里弱引用应该如何实现?(WeakReference/WeakPtr<T>)
弱引用(指针)指的是这样一个概念:引用不控制对象的生命周期,但是对象本身销毁后,弱引用能得到“通知”。  WeakPtr的实现思路(概念上的):(WeakPtr 1)===> (引用结构 2)  (实际的对象 3) 当(实际的对象3)由于调用析构函数销毁自己时,可以清除(引用结构 2)里面的信息,这样(WeakPtr 1)就得到了null,相当于被通知到了 一种可能的实现...
分类:其他好文   时间:2015-08-20 16:49:47    阅读次数:209
C++ share_prt 简单设计和实现
C++ 比较烦恼的是内存的管理,new是简单,不够,delete偶尔就会忘记。或者说,出现,多个对象共享多一个内存,一个delete以后,导致其他也不能用的不良情况,所以就跑出了一个智能指针来进行管理。设计需求:1.该智能指针能接受各种类型的指针 -- 使用模板2.智能指针需要知道该对象有多少个人在...
分类:编程语言   时间:2015-08-19 20:11:07    阅读次数:111
智能指针(三):unique_ptr使用简介
我们知道auto_ptr通过复制构造或者通过=赋值后,原来的auto_ptr对象就报废了.所有权转移到新的对象中去了.而通过shared_ptr可以让多个智能指针对象同时拥有某一块内存的访问权.但假如我们不希望多个内存块被多个智能指针对象共享,同时又不会像auto_ptr那样不知不觉的就让原来的au...
分类:其他好文   时间:2015-08-17 15:24:40    阅读次数:123
智能指针(二):shared_ptr实现原理
前面讲到auto_ptr有个很大的缺陷就是所有权的转移,就是一个对象的内存块只能被一个智能指针对象所拥有.但我们有些时候希望共用那个内存块.于是C++ 11标准中有了shared_ptr这样的智能指针,顾名思义,有个shared表明共享嘛.所以shared_ptr类型的智能指针可以做为STL容器的元...
分类:其他好文   时间:2015-08-17 15:20:34    阅读次数:114
智能指针(一):STL auto_ptr实现原理
智能指针实际上是一个类(class),里面封装了一个指针.它的用处是啥呢?指针与内存说到指针自然涉及到内存.我们如果是在堆栈(stack)中分配了内存,用完后由系统去负责释放.如果是自定义类型,就会自动的去调用你的析构函数.但如果是在堆(heap)中分配了内存,也就是用malloc或者new.那只能...
分类:其他好文   时间:2015-08-17 15:19:56    阅读次数:122
关于指针的另一些问题
之前多多少少已经整理或写过了一些跟指针有关的博文: C++指针和引用 C++智能指针及其简单实现 函数指针和回调函数 指针和数组解析 指针的类型与指针所指向的类型但对指针还是感觉一知半懂,所以再补充些相关知识。指针作为函数参数 先看一个小例子1: 1 #include 2 #inc...
分类:其他好文   时间:2015-08-16 13:42:33    阅读次数:165
【C++】智能指针auto_ptr
C++的auto_ptr所做的事情,就是动态分配对象以及当对象不再需要时自动执行清理,使用std::auto_ptr,要#include 。 实现代码如下: #include #include using namespace std; //#define _THROW0() throw ()抛出全部异常 template class auto_ptr { public: /...
分类:编程语言   时间:2015-08-16 12:21:41    阅读次数:145
834条   上一页 1 ... 50 51 52 53 54 ... 84 下一页
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!