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

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

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

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

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

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

4、主要应用:

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

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

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




  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值