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

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

2008-03-05 22:42 337 查看
Technorati 标签: C++,大规模C++程序设计,读书笔记
指导方针30:避免在接口中使用unsigned整数;改为使用int整数。
C++要求,涉及一个unsigned整数的双目运算符在执行操作之前,首先要将另一个整数转换成unsigned。有可能将某个负数隐式转换为一个很大的正数。
原则107:有时注释比直接在代码中表达一个接口决策要更好(如,unsigned)。
同short一样,在接口中使用unsigned同样会暴露函数实现细节、削弱封装、干扰函数重载、干扰模板实例化。
 
指导方针31:在接口中避免使用long;改为assert(sizeof(int) >= 4),并使用int或一个用户自定义的大整数类型。
long int在不同的机器上可能有不同的长度(32、64),因此使用long会削弱代码的可移植性。编译时的大量警告信息会妨碍客户的正常使用。long同样会干扰函数重载、干扰模板实例化。
 
指导方针32:考虑在接口中对于浮点类型只使用double,除非有强制性的原因才使用float或long double。
从历史上看,C语言要求所有的浮点表达式都是double类型的,不支持long double,ANSI C才引入了用fload直接进行算术运算的能力。大多数C库都以double类型传递并返回浮点值,大多数计算机硬件都对double进行了优化。
 
原则108:在实际出现的大多数情况下,为了在接口中能表达整数和浮点数,所需要的唯一基本类型分别是int和double。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: