智能指针(smart pointer)是存储指向动态分配(堆)对象指针的类,用于生存期控制,能够确保自动正确的销毁动态分配的对象,防止内存泄露。它的一种通用实现技术是使用引用计数(reference count)。智能指针类将一个计数器与类指向的对象相关联,引用计数跟踪该类有多少个对象共享同一指针。...
分类:
编程语言 时间:
2014-09-06 10:53:53
阅读次数:
374
智能指针(smart pointer)是存储指向动态分配(堆)对象指针的类,能够在适当的时间自动删除指向的对象外,能够确保正确的销毁动态分配的对象。
标准库的智能指针为auto_ptr。boost库的智能指针族在功能上做了扩展。
1.auto_ptr
auto_ptr注意事项如下。
①auto_ptr不能共享所有权。
②auto_ptr不能指向数组。
③auto_ptr不能作为...
分类:
编程语言 时间:
2014-09-05 16:18:21
阅读次数:
204
记得前不久有一次面试被问到智能指针的实现,当时对智能指针只是听说但没有了解过,就乱七八糟地说了一遍。今天写了一遍智能指针,用了引用计数的概念。
主要思想就是,用一个新类对原本需要的类型进行了一层封装,这个新类中保存了原本的对象指针和一个引用计数的指针,之所以全部用指针来保存,就是因为会出现多个新类的对象引用到同一个指针,这样的话当我们修改原本对象的内容以及引用计数时,就很天然性地...
分类:
编程语言 时间:
2014-09-03 09:44:36
阅读次数:
221
以下二种情况是可以成立的:父类指针或者引用可以指向子类对象(指针解释的对象大小为基类大小,子类包含有基类)子类分割成基类对象(一只鸡一定是一个动物)以下二种情况不能成立:子类指针或者引用指向父类对象(指针解释的对象大小为子类大小,比基类要大,会出现不合法的内存访问)基类转化成子类(一个动物不一定是鸡...
分类:
编程语言 时间:
2014-08-28 22:26:36
阅读次数:
278
c++中对new申请的内存的释放方式有delete和delete[两种方式,到底这两者有什么区别呢?
1.我们通常从教科书上看到这样的说明:
delete 释放new分配的单个对象指针指向的内存
delete[] 释放new分配的对象数组指针指向的内存
那么,按照教科书的理解,我们看下下面的代码:
int *a = new int[10];
delete a; //方...
分类:
其他好文 时间:
2014-08-28 18:10:35
阅读次数:
183
指针和引用的区别:
1.指针可以为空,引用不可以为空。
2.指针初始化后可以重新指向新对象,引用初始化以为不可以重新绑定新对象,
3.指针可以在初始化时赋值,可以初始化以后通过赋值运算符(=)赋值;引用只能在初始化时赋值。
4.指针是个实体(占内存4byte),引用只是个别名(不占内存)
5.指针sizeof是4byte,引用sizeof是绑定对象的大小。
6.指针是类型安全,引用...
分类:
其他好文 时间:
2014-08-21 19:25:54
阅读次数:
171
优先级运算符名称或含义使用形式结合方向说明1[]数组下标数组名[常量表达式]左到右()圆括号(表达式)/函数名(形参表).成员选择(对象)对象.成员名->成员选择(指针)对象指针->成员名2-负号运算符-表达式右到左单目运算符(类型)强制类型转换(数据类型)表达式++自增运算符++变量名/变量名++...
分类:
编程语言 时间:
2014-08-20 22:31:52
阅读次数:
284
/*这是从网上摘下的样例,主要讲述了 dynamic_cast 的用法。*/ /* 作用:将一个基类对象指针(或引用)cast到继承类指针,dynamic_cast会依据基类指针是否真正指向继承类指针来做对应处理, 即会作一定的推断。 对指针进行dynamic_cast,失败返回null,成功返.....
分类:
编程语言 时间:
2014-08-20 19:25:42
阅读次数:
214
很早的时候,我纠结过一件事,假如,我在C++公开给脚本的接口中,要使用C++里的某一个对象,并且,我的程序中有很多个不同的lua虚拟机,每一个虚拟机要关联一个C++对象,并且这是多线程的,那么这时候应该如何快速的利用lua_State指针来定位到对象指针呢?...
分类:
编程语言 时间:
2014-08-16 13:52:40
阅读次数:
293
C***Dialog* pWnd= (C***Dialog*)FromHandle(hWnd); //由句柄得到对话框的对象指针 pWnd->xxx( ); //调用C***Dialog中的函数xxx();通过窗口类函数:CWnd *GetWindow获得窗口指针,pWnd->m_hWnd(Th.....
分类:
其他好文 时间:
2014-08-14 23:31:16
阅读次数:
216