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

本文提供了C++编程语言的设计指南,包括避免在接口中使用unsigned整数和long整数,建议使用int;对于浮点类型推荐使用double。这些指导方针有助于提高代码的可读性和可维护性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

指导方针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。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

俞凡 DeepNoMind

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

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

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

打赏作者

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

抵扣说明:

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

余额充值