1 const 变与不变
2 为什么用const
:最初的动机是取代#define
#define只是简单的文本替换,没有类型检查概念和功能。
只在预处理阶段,不占用存储空间。目的,为使用它的编译单元提供值。
3 值代替
const把值替代交给编译器。
4 头文件const
默认为内部连接。
也就是说只有在被定义过的文件里能够看到,而在连接时其他编译单元是看不到的。
5 const安全性
6聚合
7与C语言的区别
c中const是一个不能被改变的普通变量。默认是外部链接的。
C;1、需要创建一块内存块空间。
8 、指针
两种:const修饰指针正指向的对象,或者const修饰在指针里存出的地址。
9 指向const的指针
const修饰"最靠近"它的那个。
const int * p;
10 const指针
int * const p;
11 函数参数返回值
1、传递const值
void f1(const int i)
{}
作为一个约定,变量初值是不会被函数f1()改变的。
2、返回const值
const int g();
12 传递与返回地址
13 类
14 类里的const
15 编译期间的常量
static 不管对象创建多少次,都只有一个实例。
static const
16 const 对象和成员函数
17 volatile
在编译器认识的范围外,这个数据可以被改变。