Chinaunix首页 | 论坛 | 博客
  • 博客访问: 89049
  • 博文数量: 26
  • 博客积分: 920
  • 博客等级: 准尉
  • 技术积分: 235
  • 用 户 组: 普通用户
  • 注册时间: 2006-06-28 10:50
文章分类

全部博文(26)

文章存档

2015年(2)

2011年(1)

2009年(10)

2008年(2)

2007年(1)

2006年(10)

我的朋友

分类: C/C++

2006-06-28 15:10:48

第14条--宁要编译时和连接时错误,也不要运行时错误
 
能在编译时做的事情,就不要推迟到运行时。
 
在静态类型语言C++的环境中,程序员肯定应该尽可能地使用能带来优势的类型系统。
同时,对于与数据和控制有关的检查来说,使用运行时检查也是明智的选择。
 
示例:
编译时布尔条件 如果测试的是编译时布尔条件,比如sizeof(int)>=8, 那么可以使用断言取代运行时测试。
编译时多态  定义泛型函数或者类型时,考虑用编译时多态(模板)代替运行时多态(虚拟函数),。前者产生的代码能够更好的进行静态检查、
枚举 在需要表示符号常量或受限整数值时考虑定义enum。
向下强制(downcast) 如果经常使用dymanic_cast执行向下转化,则可能说明基类
提供的功能太少了。此时可以考虑重新设计接口,使程序能够用基类表示计算。
例外情况:
 有些情况下,无法在编译时检查, 必须进行运行时检查。对于这种情况,应该使用断言来检查内部变成错误,对于其他运行时错误比如与数据相关的错误,则要遵循“错误处理与异常”部分的其他建议进行处理。
阅读(795) | 评论(0) | 转发(0) |
0

上一篇:没有了

下一篇:大内高手—序(转载)

给主人留下些什么吧!~~