Chinaunix首页 | 论坛 | 博客
  • 博客访问: 327704
  • 博文数量: 90
  • 博客积分: 1585
  • 博客等级: 上尉
  • 技术积分: 964
  • 用 户 组: 普通用户
  • 注册时间: 2010-03-26 18:33
文章分类

全部博文(90)

文章存档

2011年(10)

2010年(80)

我的朋友

分类: C/C++

2010-04-06 21:25:00

    C++ 语言可以用const来定义常量,也可以用 #define来定义常量。但是前者比后者有更多的优点:

(1)const 常量有数据类型,而宏常量没有数据类型。编译器可以对前者进行类型安全检查。而对后者只进行字符替换,没有类型安全检查,并且在字符替换可能会产生意料不到的错误(边际效应)。

(2)有些集成化的调试工具可以对const常量进行调试,但是不能对宏常量进行调试。

 

规则1C++ 程序中只使用const常量而不使用宏常量,即const常量完全取代宏常量。

【规则2需要对外公开的常量放在头文件中,不需要对外公开的常量放在定义文件的头部。为便于管理,可以把不同模块的常量集中存放在一个公共的头文件中。

【规则3如果某一常量与其它常量密切相关,应在定义中包含这种关系,而不应给出一些孤立的值。

例如:

   const  float   RADIUS = 100;

   const  float   DIAMETER = RADIUS * 2;

阅读(638) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~