随笔2018.4.30——C++关于const常成员的几个易错点

        首先我们知道,非const常对象既可以访问常成员函数也可以访问非常成员函数;常成员函数毫无疑问可以访问常数据成员,那么还有如下几条:

1、const常对象只能访问常成员函数,而不能访问其他非常成员函数(静态、构造函数(用构造来初始化)除外);

2、非const常成员函数可以访问常数据成员,但只能利用其数值(例如做算术运算),而不能改变其原来的值;

3、同理有:const常成员函数可以访问非常数据成员,但不可含改变其值的操作;

3、对于对象的常数据成员,其初始化只能用初始化列表来初始化,不能够用普通的复制函数;另外,初始化列表只能用在构造函数中(一般的带参/无参构造函数,复制构造函数);

4、主要应用:

    ①、实际问题中不可修改的ID账户;

    ②、复制构造函数中的形参需用const修饰;

    ③、友元函数重载中有时形参要用const修饰;




猜你喜欢

转载自blog.csdn.net/qq_41661919/article/details/80148356