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

定义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:在设计一个函数、组件、包或完整的系统时,使用最简单的有效技术。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

俞凡 DeepNoMind

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值