常量
- 通过const关键字将一个变量定义为常量。
const int bufsize=1024; \\定义时必须初始化
bufsize=1;\\一经定义不能改变它的值
const double PI; \\这将产生语法错误
指向const类型对象的指针
const int *p;
p是一个指向int类型对象的指针,但p本身并不是一个常量,也就是说p可以指向任何一个int类型的对象,但由p所指向的对象不可以通过p来改变值。
对象常量
- <类名> const <对象名> 或者 const <类名> <对象名>。定义常对象时,同样要进行初始化,并且该对象不能再被更新。 对象名>类名>对象名>类名>
常指针
- <类型>\* const <对象> 表示定义一个常量指针,对象本身不能改变,但所指向的值是可以改变的。 对象>类型>
- const <类型> \* <对象> 表示定义一个常量的指针或指针常量,该变量的本身可以改变,但所指向的值是不能改变的。对象>类型>
常引用
- const <类型> &<对象>对象>类型>
- 使用const修饰符也可以说明引用,被说明的引用为常引用,该引用所引用的对象不能被更新。如:
- const double &v;//v是一个引用
- v=12.3 //非法,不能更新
总结
- const int a=100; a是一个常变量,值不可改变
- int const b=100; 与1一样
- const int *a=&b; 指向常数的指针,即指针本身的值是可以改变的,但指向的内容不可变
- int const *a=&b; 与3一样
- int * const a=&b; 常指针,即指针本身的值不可改变的,但指向的内容是可改变的
- const int * const a=&b;指向常数的常指针,即指针本身与指向的内容都是不可改变的
- const int &a=100; 常数引用,即不能改变引用的值;