个人日志

物联网 & 极简主义

〈23,读书笔记——林锐·高质量C编程指南:卷5——常量〉


常量通常用define或const来定义,用作有效的数值或字符串替换

——————————————————————————

1,const和define定义常量的区别

1.1 const常量有数据类型,建议C++中用const。使用define时注意用充足的括号

1.2 有些调试工具不支持宏常量,综合建议使用const


2,常量定义规则

2.1 需要公开的一般放在头文件里,不需要的放在定义文件里。

通常为了便于管理,将不同模块里的常量放至同一个公共头文件里。

2.2 相关常量放一块


3,类中的常量

若用const来修饰类中数据成员,则该成员只在某个对象的生存期内是有效的——对类而言是可变的。

一般而言,我们不可以在类内直接这样定义const数据成员,而在类构造函数的初始化列表里进行该常量的初始化。

举例如下:

class A
{
A(int size);


const int SIZE;
};

A :: A(int size):SIZE(size)//构造函数的初始化表
{

}

A a(100);
A b(200);


而最终,要想创建个在整个类中都恒定的常量,不要指望const了,而该用枚举常量(只能是整形)


class A
{
enum
{
SIZE1 = 100,
SIZE2 = 200
};

int a[SIZE1];
int b[SIZE2]

};

上一篇 下一篇
评论
©个人日志 | Powered by LOFTER