不变的值,更加容易理解和跟踪,使用常量,提高代码阅读的效率和定位问题的效率。
1.使用const代替#define
宏只是简单的替换,在预处理阶段完成,并不会进行类型安全检查,代码中实际表现为值而不是宏名。宏也没有作用域的说法。
#define MAX_BUF_LEN (256)
const unsigned short Max_Buf_Len = 256;
2.一组相关的类型,应该定义为枚举 enum
枚举类型默认从0开始,后一个在前一个的基础上加1。
typedef enum{
MON,
TUE,
WED,
THU,
FRI
}workdays;
//...
workdays firstday = MON;
//...
3.多使用const,提高阅读效率,避免意外改变常量。
3.1 函数参数 传递引用时,如果函数不修改参数,应该声明为const。
3.2 成员函数若不修改任何数据成员,未调用非const函数,也未返回非const指针或者引用,则应该声明为const。
3.3 数据成员,如果数据成员在被构造后不再发生变化,可以声明为const。