在基本数据类型中有常量,类比到类类型中就是常对象,其实常量也是常对象。
常对象的声明方式:const类名 对象名;。常对象的数据成员不能被改变,而且不能访问普通的函数成员,那常对象有何用?这就提出了常函数成员。
类的常函数成员的声明方式:类型说明符 函数名(形参)const;。常函数成员就是为常对象服务的,常对象只能访问常函数成员。但是普通对象也可以访问常成员函数,在访问过程中,普通对象会被视为常对象,在运行过程中,普通对象的数据成员也不会被改变。const 还能用来声明函数重载,当普通对象调用同名函数时,会选择最近的函数调用。
常数据成员的声明方式:const类型说明符 变量名;。常数据成员的初始化在构造函数的初始化列表中进行。
常引用的声明方式:const类型说明符 &变量名;。常引用也可做形参,常引用可以和常对象搭配,普通对象也可以和常引用搭配,在运行中,普通对象会被视为常对象,常引用做函数形参时和值传递很类似,但常引用有一个优点,在传递比较大的值时,用值传递耗时较长,而传递常引用可以显著提高效率。
以上就是我对常对象,常成员函数,常数据成员和常引用的一些认识。