智能指针的学习中文教程网站http://zh.highscore.de/cpp/boost/不过代码可能 由于BOOST 版本不同需要稍作修改scoped_ptr 离开作用域则自动调用类析构函数或者函数delete方法shared_ptr 使用率最高的指针 类似scoped_ptr 但是所有权可以转...
分类:
其他好文 时间:
2014-08-11 20:48:02
阅读次数:
270
RAII(resource acquisition is initialization):资源获取时便是初始化时机。不论控制流如何离开执行的区域块,其析构函数被调用,资源被释放。为防止内存泄露使用auto_ptr或shared_ptr();auto_ptr sp(new class)+shared_...
分类:
其他好文 时间:
2014-08-11 17:22:02
阅读次数:
204
当基类确定被继承的时候,析构函数声明为virtual是必须的当返回的派生类的指针或引用的时候,调用析构函数容易发生内存泄漏当基类作为抽象类使用,声明pure virtual析构函数析构函数的顺序————派生类的析构函数先被调用(先析构基类成员)构造函数的顺序————派生类的构造函数先被调用(先构造基...
分类:
其他好文 时间:
2014-08-10 18:07:50
阅读次数:
277
C++编译器自己合成的构造函数:默认构造函数copy构造函数copy assigment操作符析构函数(编译器产生的析构时non-virtual)copy assignment(当含有const以及reference时不能自动合成)
分类:
编程语言 时间:
2014-08-10 15:23:40
阅读次数:
257
??
目
录
1
开始学习C++..............................................................................................................
4
1.1
C++的头文件..............................
分类:
编程语言 时间:
2014-08-09 21:37:30
阅读次数:
858
一,类中的析构函数(__destruct): 析构函数是自动调用的 析构函数主要用于销毁资源 析构函数的调用顺序是先创建的对象最后被销毁(原理是栈的先进后出) 析构函数什么时候被调用 (1)当程序(进程结束)推出时...
分类:
Web程序 时间:
2014-08-09 16:05:09
阅读次数:
217
首先说说构造函数,大家都知道构造函数里就可以调用成员变量,而继承中子类是把基类的成员变成自己的成员,那么也就是说子类在构造函数里就可以调用基类的成员了,这就说明创建子类的时候必须先调用基类的构造函数,只有这样子类才能在构造函数里使用基类的成员,所以是创建子类时先调用基类的构造函数然后再调用自己的构造函数。通俗点说,你要用某些物品,但这些物品你没办法自己生产,自然就要等别人生产出来,你才能拿来用。
...
分类:
编程语言 时间:
2014-08-09 11:46:57
阅读次数:
234
一、构造函数为什么不能为虚函数
1. 从存储空间角度,虚函数对应一个指向vtable虚函数表的指针,这大家都知道,可是这个指向vtable的指针其实是存储在对象的内存空间的。问题出来了,如果构造函数是虚的,就需要通过 vtable来调用,可是对象还没有实例化,也就是内存空间还没有,怎么找vtable呢?所以构造函数不能是虚函数。
2. 从使用角度,虚函数主要用于在信息不全的情况下,能使重载的函...
分类:
其他好文 时间:
2014-08-09 11:46:37
阅读次数:
278
构造方法与析构方法是对象中的两个特殊方法,它们都与对象的生命周期有关。构造方法时对象创建完成后第一个被对象自动调用的方法,这是我们在对象中使用构造方法的原因。而析构方法时对象在销毁之前最后一个被对象自动调用的方法,这也是我们在对象中使用析构方法的原因。所以通常使用构造方法完成一些对象的初始化工作,使...
分类:
Web程序 时间:
2014-08-09 04:53:57
阅读次数:
324
在 C++ 中,子类的构造函数会自动调用父类的构造函数。同样,子类的析构函数也会自动调用父类的析构函数。要想一个类不能被继承,我们只要把它的构造函数和析构函数都定义为私有函数。那么当一个类试图从它那继承的时候,必然会由于试图调用构造函数、析构函数而导致编译错误。
template
class A
{
friend T;
private:
A(...
分类:
编程语言 时间:
2014-08-08 02:01:45
阅读次数:
276