1. 能定义在c++头文件中的三种例外:
能够定义在头文件中的三种例外 |
---|
类 |
值在编译时就已经确定的const对象 |
inline函数 |
2. const与extern相关
- const变量也是lvalue,只是其值不可修改而已。
- 非const全局变量默认为extern,为了使const变量能在其他文件中访问,必须强制指定其为extern。
例如:
extern const int a = 10; //这样才能作为跨文件的全局变量使用
- 当我们在头文件中定义了const变量后,每个包含该头文件的源文件都有了自己的该const变量。其值和名字都一样(并不是同一个)。
- extern主要起到声明的作用,然而如果声明的变量含有初始化式,则其应被当作定义,即使标记为extern。
例:
extern double pi = 3.1416; //实际上是定义
/* 注:只有声明位于函数外部时,才可以含有初始化式。*/
3. 枚举类型
• 枚举类型中,默认第一个成员为0,后面的依次大1:
enum open_modes {input, output, append};//input = 0, output = 1, append = 2
4. 杂项
- 任何
非0
值(包括负数)
都是true
。 - 变量提供了程序可以操作的
有名字的
存储区 - 标识符不能包含两个连续的下划线,不能以下划线开头后跟一个大写字母,函数外定义的标识符不能以下划线开头。
- 魔数(magic number)指在上下文中无法找到其意义的数。