CONST关键字
14 March 2013
const关键字可以用来限定变量不可以被修改,基于这个特性,程序员可以用这个关键字来提高程序的健壮性,这也是程序员面试常见考点。
-
常变量 const修饰的变量不可以修改该变量的值。
-
常引用 在函数
void Func(A a)
中,传递了一个临时对象a,该对象要进行构造、拷贝、析构这些过程,运行效率会大大降低。由于该函数是按值传递,所以使用void Func(const A &a)
,这样不会重新创建临时变量,只是常引用原始变量,不会进行构造、析构等过程,可以提高执行效率。 -
const修饰函数返回值 const修饰过的函数返回值是常量,形如
const getA()
,这样,可以避免如下代码错误:A a; getA() = a;
- 常函数
形如
void Func(int a) const
,在该函数体内,变量a的值不可以更改,包含该函数的类的其他成员变量的值,不会更改。同时,也会通知使用该方法的程序员:这个函数是常函数,不会改变任何值,放心使用。 -
指向const对象的指针
const double *ptr;
把
*
放在离变量近的位置比较方便理解。ptr是一个指针,指向double类型,ptr指向的值(*ptr)是常量,不可以更改。同时,const对象指针也只能赋值给const对象指针,因为如果可以赋值,之前的const限定也就无效了。也可以像下面这样定义,含义是一样的。double const *ptr;
-
const指针
int * const a;
表明该指针是常量,不可以更改。
原文链接:CONST关键字,转载请注明来源!
–EOF–