文章
首页 我的博文
burkett2011_327610014 2008-10-28 12:22
高质量C++/C编程指南 -- 第11章 其它编程经验2
11.1.3 const成员函数 任何不会修改数据成员的函数都应该声明为const类型。如果在编写const成员函数时,不慎修改了数据成员,或者调用了其它非const成员函数 ...
burkett2011_327610014 2008-10-28 12:22
高质量C++/C编程指南 -- 第11章 其它编程经验1
11.1 使用const提高函数的健壮性 看到const关键字,C++程序员首先想到的可能是const常量。这可不是良好的条件反射。如果只知道用const定义常量,那么相当于把火 ...
burkett2011_327610014 2008-10-28 12:20
高质量C++/C编程指南 -- 第10章 类的继承与组合2
10.2 组合 l 【规则10-2-1】若在逻辑上A是B的“一部分”(a part of),则不允许B从A派生,而是要用A和其它东西组合出B。 例如眼(Eye)、鼻(Nose)、口(Mo ...
burkett2011_327610014 2008-10-28 12:19
高质量C++/C编程指南 -- 第10章 类的继承与组合1
对象(Object)是类(Class)的一个实例(Instance)。如果将对象比作房子,那么类就是房子的设计图纸。所以面向对象设计的重点是类的设计,而不是对象的设计。 ...
burkett2011_327610014 2008-10-28 12:17
高质量C++/C编程指南 -- 第9章 类的构造函数、析构函数与赋值函数4
类String的赋值函数比构造函数复杂得多,分四步实现: (1)第一步,检查自赋值。你可能会认为多此一举,难道有人会愚蠢到写出 a = a 这样的自赋值语句!的确 ...
burkett2011_327610014 2008-10-28 12:17
高质量C++/C编程指南 -- 第9章 类的构造函数、析构函数与赋值函数3
9.3 构造和析构的次序 构造从类层次的最根处开始,在每一层中,首先调用基类的构造函数,然后调用成员对象的构造函数。析构则严格按照与构造相反的次序执行,该 ...
burkett2011_327610014 2008-10-28 11:55
高质量C++/C编程指南 -- 第9章 类的构造函数、析构函数与赋值函数2
9.2 构造函数的初始化表 构造函数有个特殊的初始化方式叫“初始化表达式表”(简称初始化表)。初始化表位于函数参数表之后,却在函数体 {} 之前。这说明该表里 ...
burkett2011_327610014 2008-10-28 11:55
高质量C++/C编程指南 -- 第9章 类的构造函数、析构函数与赋值函数1
构造函数、析构函数与赋值函数是每个类最基本的函数。它们太普通以致让人容易麻痹大意,其实这些貌似简单的函数就象没有顶盖的下水道那样危险。 每个类只有一 ...
burkett2011_327610014 2008-10-28 11:51
高质量C++/C编程指南 -- 第8章 C++函数的高级特性-4
8.3 参数的缺省值 有一些参数的值在每次函数调用时都相同,书写这样的语句会使人厌烦。C++语言采用参数的缺省值使书写变得简洁(在编译时,缺省值由编译器自动 ...
burkett2011_327610014 2008-10-28 09:51
高质量C++/C编程指南 -- 第8章 C++函数的高级特性-3
8.2.2 令人迷惑的隐藏规则 本来仅仅区别重载与覆盖并不算困难,但是C++的隐藏规则使问题复杂性陡然增加。这里“隐藏”是指派生类的函数屏蔽了与其同名的基类 ...
burkett2011_327610014 2008-10-28 09:51
高质量C++/C编程指南 -- 第8章 C++函数的高级特性-2
8.1.3 当心隐式类型转换导致重载函数产生二义性 示例8-1-3中,第一个output函数的参数是int类型,第二个output函数的参数是float类型。由于数字本身没有类型 ...
burkett2011_327610014 2008-10-28 09:50
高质量C++/C编程指南 -- 第8章 C++函数的高级特性-1
第8章 C++函数的高级特性 对比于C语言的函数,C++增加了重载(overloaded)、内联(inline)、const和virtual四种新机制。其中重载和内联机制既可用于全局函数也 ...
burkett2011_327610014 2008-10-28 09:48
高质量C++/C编程指南 -- 第7章 内存管理-7
7.11 new/delete 的使用要点 运算符new使用起来要比函数malloc简单得多,例如: int *p1 = (int *)malloc(sizeof(int) * length); int *p2 = new int ; ...
burkett2011_327610014 2008-10-28 09:48
高质量C++/C编程指南 -- 第7章 内存管理-6
7.10 malloc/free 的使用要点 函数malloc的原型如下: void * malloc(size_t size); 用malloc申请一块长度为length的整数类型的内存,程序如下: int *p ...
burkett2011_327610014 2008-10-28 09:47
高质量C++/C编程指南 -- 第7章 内存管理-5
7.9 内存耗尽怎么办? 如果在申请动态内存时找不到足够大的内存块,malloc和new将返回NULL指针,宣告内存申请失败。通常有三种方式处理“内存耗尽”问题。 ( ...
关闭 站长推荐上一条 /2 下一条