码迷,mamicode.com
首页 >  
搜索关键字:析构    ( 2765个结果
临时变量与复制构造函数
class B { public: B(){ cout << "构造函数" << endl; } B(const B &b) { cout << "复制构造函数" << endl; } ~B() { cout << "析构函数" << endl; } }; B play(B b) { return b; } main函数输入如下代码: { B b...
分类:其他好文   时间:2015-04-23 11:06:48    阅读次数:125
纯虚类中的纯析构函数
1. 纯虚类特点 纯虚类不能实例化;class AES{public: virtual ~AES()=0;};AES::~AES(){} class BES:public AES{public: virtual ~AES()=0;};int main(){ AES *p=new BES; ...
分类:其他好文   时间:2015-04-22 23:34:54    阅读次数:134
析构函数定义为虚函数
析构函数执行时先调用派生类的析构函数,其次才调用基类的析构函数。如果析构函数不是虚函数,而程序执行时又要通过基类的指针去销毁派生类的动态对象,那么用delete销毁对象时,只调用了基类的析构函数,未调用派...
分类:其他好文   时间:2015-04-22 18:53:27    阅读次数:151
《Effective C++》第3章 资源管理(1)-读书笔记
章节回顾:《Effective C++》第1章 让自己习惯C++-读书笔记《Effective C++》第2章 构造/析构/赋值运算(1)-读书笔记《Effective C++》第2章 构造/析构/赋值运算(2)-读书笔记《Effective C++》第3章 资源管理(1)-读书笔记《Effecti...
分类:编程语言   时间:2015-04-22 13:47:13    阅读次数:188
浅谈析构函数
这一节内容,主要是介绍一下析构函数。 就像创建对象时将会调用构造函数一样,当要删除一个对象时,程序就会调用析构函数。每一个类都只能有一个析构函数。析构函数没有返回类型,也没有参数。析构函数的名称是在类名称前面加上~。 如果构造函数使用new来分配内存,则必须提供使用delete的析构函数来释放这些内存。 下述情况下,析构函数将会被调用: 1、如果对象是动态变量,则当执行完定义该...
分类:其他好文   时间:2015-04-22 11:34:04    阅读次数:106
第六周项目二 我的数组类
【项目2-我的数组类】 下面的程序,因为存在指针类型的数据成员,需要能完成深复制的构造函数。请补充完整构造函数和析构函数(其他不必动)。其中,构造函数要完成下面三个任务: (1)为各成员函数赋值,按照深复制原则,其中arrayAddr应该是为保存数据新分配的连续空间的首地址; (2)MyArray(int *a, int n)中,要将a指向的数组中的数值,逐个地复制到新分配的arrayAdd...
分类:编程语言   时间:2015-04-22 09:37:01    阅读次数:115
《Effective C++》重点摘要(五)
《Effective C++》第五章:实现 尽可能延后变量定义式的出现时间。只有变量在恰好要使用之前定义,程序的可读性往往会得到提高,因为这样不容易忘记变量说代表的意思。另一方面,这样做可以提高程序性能,如果不需要一个变量时却要为它分配、释放空间,调用构造、析构函数,获取、释放资源……这,真是太浪费了。补充一点,声明式并不会做这些事情,所以可以考虑用声明式替换定义式以尽量延后变量的定义。 尽量少做转...
分类:编程语言   时间:2015-04-22 09:35:15    阅读次数:135
《Effective C++》第2章 构造/析构/赋值运算(2)-读书笔记
章节回顾:《Effective C++》第1章 让自己习惯C++-读书笔记《Effective C++》第2章 构造/析构/赋值运算(1)-读书笔记《Effective C++》第2章 构造/析构/赋值运算(2)-读书笔记《Effective C++》第8章 定制new和delete-读书笔记条款0...
分类:编程语言   时间:2015-04-21 12:40:15    阅读次数:169
《Effective C++》重点摘要(三)
《Effective C++》第三章:资源管理 以对象管理资源。一份资源,可能是一片内存,可能是一个锁,当客户申请后需要手动释放才是合理的,那么最好在获得这份资源的时候,就立刻把它放到一个对象里(RAII技术),然后在对象的析构函数里释放它。这样释放操作就不会被遗忘了,并且,就算在使用资源类的语境中有语句抛出异常,也能确保资源得到正确的释放。 在资源管理类中小心coping行为。有的资源是不支持co...
分类:编程语言   时间:2015-04-21 11:16:58    阅读次数:167
《Effective C++》重点摘要(二)
《Effective C++》第二章:构造/析构/赋值运算 C++默认编写的函数。C++编译器如果没有发现以下函数,就会为类生成一份默认版本的: 1) default构造函数 2) default析构函数 3) copy构造函数 4) copy assignment操作符(=运算符) 前两个函数并不总是产生,它只在编译器需要的时候才产生出来。后两个函数只保证以bitwise语义拷贝...
分类:编程语言   时间:2015-04-21 11:16:23    阅读次数:118
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!