C/C++语言中关于const用法的总结(3)

在C++语言中,mutable是使用较少的关键字,它的作用是:如果一个函数被const 修饰,那么它将无法修改其成员变量的,但是如果一个成员变量是被mutable修饰的话,则可以修改。

mutable 可以用来指出,即��成员函数或者类变量为const,其某个成员也可以被修改。反过来说,可变数据成员永远不能成为const,即使它是const对象的成员。

class A
{
public:
    int x;
    mutable int y;
    A(int a, int b):x(a),y(b){}
};

int main()
{
    const A a(0, 0); // const对象必须初始化
    a.x = 1;        // 错误
    a.y = 2;        // 正确,mutable修饰使得成员可被修改,即使对象a为const
    return 0

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/4eef6ea6f221513d0e9aa91f004e05d8.html