【不变与可变】mutable和const

1、const关键字

const关键字可以用来修饰变量和成员函数。其修饰变量则在此作用域下变量不可变,其修饰成员函数则说明此成员函数不会修改类的成员变量。

1.1 const修饰变量

1.2 const修饰成员函数

const修饰成员函数时需要将声明和定义全部加上const关键字。

当const修饰成员函数时,其含义是此成员函数不会更改类的成员变量,有以下两个层次:

  • 不能在代码中显式对成员变量赋值。
  • 其调用的成员函数也应该为const类型,以保证其不会改变类的成员变量。

2、mutable关键字

在1.2节中说道当const修饰成员函数时,此函数内部不能对成员变量赋值且其调用的函数也应该为const。但有时类中的变量并不全是保存的类的有效信息,有些变量是作为辅助来使用的,比如迭代变量等待。这时就可能在函数中更改这这些变量的值。只需要在声明时为变量加上mutable即可。

class A{
...
mutalbe int m_next;
};
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值