C++中的const


声明对象时可以用const进行修饰,称为常对象。常对象的数据成员值在对象的整个生存期间内不能被改变。常对象必须进行初始化,而且不能更新。

还可以用const修饰类成员,如下:

1.常成员函数

使用const关键字修饰的函数为常成员函数,常成员函数声明的格式为:

类型说明符    函数名(参数表)     const ;

const是函数类型的一个组成部分,因此在函数的定义部分也要带const关键字。

如果将一个对象说明为常对象,则通过该对象只能调用它的常成员函数,而不能调用其他成员函数。

无论是否通过常对象调用常成员函数,在常成员函数调用期间,目的对象都被视为常对象,因此常成员函数不能更新目的对象的数据成员,也不能针对目的对象调用该类中没有用const修饰的成员函数。

const关键字可以用于对重载函数的区分。

2.常数据成员

就像一般数据一样,类的成员函数也可以是常量,使用const说明的数据成员为常数据成员。如果一个类中说明了常数据成员,那么任何函数中都不能对该成员赋值。

常引用:

如果在声明引用时用const修饰,被声明的引用就是常引用。常引用所引用的对象不能被更新。

相关内容