码迷,mamicode.com
首页 >  
搜索关键字:智能指针    ( 834个结果
shared_ptr
boost::shared_ptr是可以共享所有权的智能指针。下面用例子说明:1 #include 2 #include 3 #include 4 5 using namespace std; 6 7 class Test 8 { 9 public:10 Test()11 {cout p...
分类:其他好文   时间:2014-08-08 01:51:05    阅读次数:306
有序容器自主定义排序器
STL中的set和map是有序容器,使用时如果希望根据自己的需要来设定排序器,通常有一下两种方式。 1.如果容器中直接存储对象的话,那么我们可以在对象类中重载 2.如果存储的不是直接对象的话比如对象的指针(通常为智能指针),这个时候我们就要定义自己的比较器。而比较器的写法一般有两种。  ->1.类内重载函数调用运算符的方法。  ->2.以函数的方式提供比较器。 对于第一种方法是非...
分类:其他好文   时间:2014-08-07 23:14:55    阅读次数:277
智能指针auto_ptr详解
概述:C++中有很多种智能指针,auto_ptr就是其中的一种,该智能指针主要是为了解决“因程序异常退出发生的内存泄漏”这类问题的。 我们先来看下面的问题代码 #include #include #include using namespace std; //一般指针的处理方式 template class OldClass { public: OldClass(T a) { ptr...
分类:其他好文   时间:2014-08-06 22:59:32    阅读次数:326
【C/C++】友元函数
为什么要使用友元函数? 在实现类之间数据共享时,减少系统开销,提高效率 如果类A中的函数要访问类B中的成员(例如:智能指针类的实现),那么类A中该函数要是类B的友元函数 为了使其他类的成员函数直接访问该类的私有变量。即:允许外面的类或函数去访问类的私有变量和保护变量,从而使两个类共享同一函数。此时可...
分类:编程语言   时间:2014-08-04 13:45:37    阅读次数:354
[cocos2dx笔记014]一个用于cocos2dx的对象智能指针模板
现在C++智能指针有无数个实现了,多一个也无所谓。哈。 这个智能指针是专门为cocos2dx 2.2.x定制的。主要是为了方便使用,同时又要遵循现有的cocos2dx的内存管理。特实现这样一个智能指针。在使用的时候不需要考虑retain或release操作,也不需要new或delete操作! 下面是实现代码 //在很多时候,类的成员是CCObject的子对象,为了保证对其正常使用,又要遵循c...
分类:其他好文   时间:2014-08-01 13:44:22    阅读次数:236
c++ 11学习笔记--智能指针
C++ 98的 std::auto_ptr已经被彻底遗弃了,取而代之的是unique_ptr、shared_ptr与weak_ptr。大部分时候我们自己手动申请内存方式内存都是没有问题的,问题是如果程序很大了之后,一个复杂的对象,多次拷贝的代价非常高,很多地方都会使用到,只存在一份拷贝显然是最好的,...
分类:编程语言   时间:2014-08-01 13:27:51    阅读次数:384
智能指针
C++中智能指针可以防止出现野指针、内存泄露等情况,智能指针的类中包含4个函数:构造函数、拷贝构造函数、重载复制操作符、析构函数。构造函数需要对引用计数和指针进行初始化,引用计数初始化为1,拷贝构造函数完成对象之间的拷贝,要注意引用计数的变化和判断两个指针是否指向相同的内存。重载复制操作符,需要判断的情况是左值代表的指针如果引用计数减为0,要释放相应的内存,避免发生内存泄露。析构函数中先判断引用计...
分类:其他好文   时间:2014-07-30 01:02:42    阅读次数:199
C++中智能指针的实现
C++中的智能指针是用一个类对另一个对象的指针或者引用进行管理,具体对该类的管理可以用包含对象指针以及引用计数的类来记录;一般有两种方式实现:1. 在对象内部记录引用的个数,这需要对象预留引用计数相关的接口2. 用一个单独的资源管理类进行管理,则不需要修改对象下面主要是第二种方法:(参考)http:...
分类:编程语言   时间:2014-07-29 21:22:43    阅读次数:336
从LLVM源码学C++(一)
今天开始需要分析clang的源码了,LLVM这个开源的project代码写的很不错的,也算是巩固一下C++的一些基础知识了。首先是在llvm/ADT/OwningPtr.h中定义了owningptr智能指针的实现:源码如下: 1 /// OwningPtr smart pointer - Ownin...
分类:编程语言   时间:2014-07-25 14:20:31    阅读次数:897
0722-----C++Primer听课笔记----------句柄类和智能指针
1.再说智能指针 1.1 为什么要用智能指针?对于一个指针,它指向一个动态分配内存的对象,若同时有多个指针指向该对象,那么当我们delete的时候,就会出现delete 一个无效内存的错误,因为该对象已经被delete过了,所以这就造成了错误。针对这一情况,我们想到,new 和 delete 必须....
分类:编程语言   时间:2014-07-23 11:36:26    阅读次数:308
834条   上一页 1 ... 75 76 77 78 79 ... 84 下一页
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!