《大规模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:通过增加一个额外的间接层能解决很多问题。
赋值运算符可以根据基本的析构和拷贝构造函数来实现:
原则114:在一个组件中分解出一般可重用的功能,可以减少代码长度并提高可靠性,而不会损失太多的运行时性能。
指导方针38:在设计一个函数、组件、包或完整的系统时,使用最简单的有效技术。
定义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:在设计一个函数、组件、包或完整的系统时,使用最简单的有效技术。
相关文章推荐
- 30.读书笔记收获不止Oracle之表的哈希连接
- 《大规模C++程序设计》读书笔记4
- 《大规模C++程序设计》读书笔记7
- 《大规模C++程序设计》读书笔记12
- 《大规模C++程序设计》读书笔记15
- 《大规模C++程序设计》读书笔记24
- 《大规模C++程序设计》读书笔记31
- 《大规模C++程序设计》读书笔记32
- 读书笔记《Effective C++》条款30:透彻了解inlining的里里外外
- 2015.04.20,外语,读书笔记-《Word Power Made Easy》 11 “如何辱骂敌人” SESSION 30
- 《大规模C++程序设计》读书笔记13
- 《大规模C++程序设计》读书笔记20
- 【Effection C++】读书笔记 条款29~条款30
- 《大规模C++程序设计》读书笔记8
- 访问数据段时的特权级检查,修改SS时的特权级检查——《x86汇编语言:从实模式到保护模式》读书笔记30
- Effective C++ 读书笔记(30)
- 《大规模C++程序设计》读书笔记9
- 《大规模C++程序设计》读书笔记11
- 《大规模C++程序设计》读书笔记18
- 《Effective C++》读书笔记之item30:透彻了解inlining的里里外外