一文读懂const关键字的使用

const主要作用是保证修饰的变量不能够被修改,即被const修饰的变量都会变成常量

主要有四个不同的使用场景

  • 修饰变量
  • 修饰指针
  • 修饰引用
  • 修饰成员函数

修饰变量

修饰成员变量

修饰成员变量的时候可以不赋值,但是在类的初始化列表必须赋值

class A
{
public:
  const int a;

  A():a(10)
  {

  };
};

修饰全局变量或者局部变量

初始化的时候必须赋值

const int aa = 10;

修饰指针

指向常量的指针

如果用const修饰 int*, 那么说明这个指向常量的指针的值是不能变化的

上图例子说明,这个指针指向的常量是不能变化的

这里要理解的是这里指的是 *p 是不可以变化的, 但是变量a 是可以变化的,而且指针p的地址也是可以变化的

自身是常量的指针

但是如果用const修饰变量值int* const p = &a; 说明这个指针指向的地址是不能变化的

修饰引用

表示这个引用的值是不能够被修改的,一般用于形参类型,即避免了拷贝,又避免了函数对值的修改;

可以看到应用的值是readonly的

修饰成员函数

可以看到在getA 这个const函数内修改成员变量的值是不被允许的

  • 13
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Jacen.L

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值