const
主要作用于指针,常量,变量,引用,函数声明,类的成员函数,防止他们改变。
- 在定义常变量时必须同时对它初始化,此后它的值不能再改变。常变量不能出现在赋值号的左边(不为“左值”);
- 对指针来说,可以指定指针本身为const,也可以指定指针所指的数据为const,或二者同时指定为const;
- 在一个函数声明中,const可以修饰形参,表明它是一个输入参数,在函数内部不能改变其值;
- 对于类的成员函数,若指定其为const类型,则表明其是一个常函数,不能修改类的成员变量;
- 对于类的成员函数,有时候必须指定其返回值为const类型,以使得其返回值不为"左值"。
- 用const修饰的符号常量的区别:const位于()的左边,表示被指物是常量;const位于()的右边,表示指针自身是常量(常量指针)。(口诀:左定值,右定向)
const char *p; //指向const对象的指针,指针可以被修改,但指向的对象不能被修改。 char const *p;
//同上 char * const p; //指向char类型的常量指针,指针不能被修改,但指向的对象可以被修改。 const char *
const p; //指针及指向对象都不能修改。