引言: 当我们在类的内部需要定义一个指向 this 自身对象的 智能指针时, 会出现 两个同指向智能指针 分属两个系统的问题, 导致析构的时候 出现二次析构, 程序就会挂掉。因为两个指针指向同一个对象,但是却不共享引用计数那么在类内部如何获取 指向自身对象的 智能指针呢, 显式手动的获取很明显是错误...
分类:
编程语言 时间:
2014-10-22 17:55:45
阅读次数:
178
MFC工程中关于链表的操作1.对于给定的整数n,编写算法删除链表中第n个节点,该链表的第一个节点由first指向。由于C++中没有关于node的标准头文件,要先手动定义node类,此处只定义了简单的data和next指针以及析构函数部分的内容:1 class node 2 {3 public:4 ....
分类:
编程语言 时间:
2014-10-22 17:47:15
阅读次数:
216
释放未托管的资源有两种方法1、析构函数2、实现System.IDisposable接口一、析构函数 构造函数可以指定必须在创建类的实例时进行的某些操作,在垃圾收集器删除对象时,也可以调用析构函数。析构函数初看起来似乎是放置释放未托管资源、执行一般清理操作的代码的最佳地方。但是,事情并不是如此简单。由...
分类:
Web程序 时间:
2014-10-22 14:32:53
阅读次数:
222
1、new调用了构造函数,delete调用了析构函数? 实际上这是一个错误的想法。
2、new确实是对malloc进行了包装,看不到源码,我们只能猜测一下,C++标准库中规定的operator new 操作有没有调用构造函数?我也还不知道。唯一正确就是"operator new typename(parameter) "实际上是分解为三个步骤:
看懂这句话就可以啦。operator new /*参数1:*/ typename ( /*"参数2 为:typename调用构造函数的参数,不是new 操作的“...
分类:
其他好文 时间:
2014-10-22 06:27:22
阅读次数:
205
看了两篇关于c++对象内存模型的文章,来源在这里:http://blog.csdn.net/haoel/article/details/3081328/http://blog.csdn.net/haoel/article/details/3081385文章中讲了多种继承模式中虚函数的实际情况,按我的...
分类:
编程语言 时间:
2014-10-21 17:24:41
阅读次数:
187
ZOJ 3810 - A Volcanic Island ( 构造 )题意:给定一个N*N 的方格,需要用4种颜色进行染色,要求:划分出N片区域,每片区域用一种颜色,且构造出的区域形状,颜色,旋转后的形状都不能相同分析:构造的题目一直都不是很好做,主要是因为自己智商太低。。这个是看了郏老大的题解才会...
分类:
其他好文 时间:
2014-10-20 21:11:41
阅读次数:
195
0 导读 缩写:构造函数ctor 析构函数 dtor 1 让自己习惯C++ C++次语言:C, Object_Oriented C++, Template C++, STL 以const, enum, inline替换#define const 成员函数承诺绝对不改变其对象的...
分类:
编程语言 时间:
2014-10-20 09:56:48
阅读次数:
205
1. 构造函数为什么不能为虚函数?a. 存储空间角度:虚函数的调用需要虚函数表指针,而该指针存放在对象的内容空间中,需要调用构造函数才可以创建他的值,否则即使开辟了空间,则虚表指针为随机值,不会找到构造函数;若构造函数声明为虚函数,那么由于对象还未创建,还没有内存空间,更没有虚函数表地址用来调用虚....
分类:
其他好文 时间:
2014-10-19 17:04:18
阅读次数:
146
MFC工程中关于链表的操作1.对于给定的整数n,编写算法删除链表中第n个节点,该链表的第一个节点由first指向。由于C++中没有关于node的标准头文件,要先手动定义node类,此处只定义了简单的data和next指针以及析构函数部分的内容:1 class node 2 {3 public:4 ....
分类:
编程语言 时间:
2014-10-19 13:00:22
阅读次数:
311
下面是观察者模式的一个例子,源代码来自《设计模式精解-Gof 23种设计模式解析附C++实现源码》。
源代码在每个观察者对象析构时有bug,会导致重复删除subject对象。...
分类:
其他好文 时间:
2014-10-19 00:07:21
阅读次数:
264