含义:
- 表示常量不可以修改的变量
- 可以修饰参数,作为输入参数
- 修饰函数,防止意外的改动
- 修饰类的成员函数,不改变累中的数据成员
const 要求他所修饰的对象为常量,不可被改变,不可被赋值,不可作为左值(l-value)
char *const p 修饰p p是不可变的 p是指向char * 的指针
const char *p 修饰*p *p不可变 P可变
例:
int a = 248
b = 4
int const c = 21;
const int *d = &a
int *const e = &b
int const *f const = &a
// 下列表达式不能通过编译器编译
d = &b // 可以改变地址
*d = 43 // *d 是指向常量的指针 不能改变数据
*e = 44 // 可改变内容 即*e
e = &a // e 是const 不能改变地址
f = 0x3423f // 地址和数据都不可变