首页 > 代码库 > 【ThinkingInC++】46、特定的数据成员可以在一个const对象里被改变

【ThinkingInC++】46、特定的数据成员可以在一个const对象里被改变

/**
* 书本:【ThinkingInC++】
* 功能:声明关键字mutable,指定一个特定的数据成员可以在一个const对象里被改变
* 时间:2014年9月11日07:47:07
* 作者:cutter_point
*/


class Z
{
    int i;
    mutable int j;
public:
    Z();
    void f() const;
};

Z::Z():i(0), j(0) {}

void Z::f() const
{
//!    i++;    //没有声明是mutable,所以没法修改,并且这个函数是const的
    j++;    //这个声明了是mutable所以就可以修改
}

int main()
{
    const Z zz;
    zz.f();

    return 0;
}


【ThinkingInC++】46、特定的数据成员可以在一个const对象里被改变