C++的四种常量的小结

常量:对于既需要共享又需要防止改变的数据应该声明为常量。

  • 常对象(const A a(3,4); 或 A const a(3,4);)
    声明常对象的同时必须初始化,并且不能改写对象的数据成员。
    通过常对象只能调用它的常成员函数。普通对象可以调用全部成员函数(包括常成员函数)。
  • 常成员函数(void print () const;)
    对于无需改变对象状态的成员函数都应使用const。
    无论是通过普通对象还是常对象调用常成员函数,目的对象都被视为常对象,因此不能改变该对象的任何数据成员的值。故常成员函数不能更新目的对象的数据成员。
  • 常数据成员(const int a;)
    如果一个类中说明了常数据成员,则在任何函数中都不可再对其赋值,包括构造函数。因此在构造函数对其初始化时只能通过初始化列表。
    类成员的静态变量和静态常量都应在类外初始化。但是C++标准规定了一个例外:类的静态常量如果具有整数类型或枚举类型,那么可以直接在类定义中为它指定常量值。
  • 常引用(const ponit &p;)
    常引用所引用的对象不能被更新。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值