mutable作用详解加代码例

mutable是C++中的一个关键字,意思是可变的。mutable主要用途就是针对const函数。如果没有const关键字,也就没有mutable关键字。

先来看如下代码:

toString()成员函数是const函数,但是它里面有修改成员变量x = y = radius = 0,但const函数里是不能成员修改变量,哪这样要如何处理?

C++提供了关键字mutable,为解决这类问题算是提供一个后门。

如上代码要修改成能通过编译,要在三个变量(x/y/radius)前面加关键字mutable,告诉编译器这几个成员变量是可变的。

mutable作用例子全代码如下:

大家可能会想不定义成const函数不就可以了,但这是下策,不是好的办法。因像toString()函数一看 函数名就应该是const函数。

注:在编程中不要只管运行结果的正常,还要处理让代码更有可读性。