您的位置:首页 > 编程语言 > C语言/C++

《大规模C++程序设计》读书笔记30

2008-03-07 22:05 330 查看
Technorati 标签: C++,大规模C++程序设计,读书笔记
定义51:如果一个基本类型实例的大小能整除其地址值,那么它是自然对齐的(naturally alligned)
定义52:一个聚集类型的实例,如果其对齐要求最严格的子类型的排列能整除聚集的地址,那么它是自然对齐的
原则110:声明数据成员的次序能够影响对象的大小。
指导方针36:只有在已知这样做安全时,才能为了优化在实现中用short代替int。
指导方针37:即使在实现中也尽量不要考虑使用unsigned。
原则111:在实现中使用unsigned类型以“提高一点性能”,是基本的整数类型没有大到足够安全的标志。
用unsigned short,不如用int,因为用short可能造成的孔洞可能足够放一个int了。
 
原则112:自然的包括其边界条件的算法,通常比将边界条件作为特殊情况处理的算法更简单、更短小、更易于理解和测试。
原则113:通过增加一个额外的间接层能解决很多问题。
 
赋值运算符可以根据基本的析构和拷贝构造函数来实现:
#include "new.h"			// declare placement syntax

T& T::operator=(const T& that) {
if (this != &that) {		// check for x = x
T::~T();		// destroy object in place
new(this) T(that);	// construct object in place
}
return *this;			// return reference to this object
}
 

原则114:在一个组件中分解出一般可重用的功能,可以减少代码长度并提高可靠性,而不会损失太多的运行时性能。

指导方针38:在设计一个函数、组件、包或完整的系统时,使用最简单的有效技术。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: