C++ mutable

原创 2016年03月06日 21:14:33

mutable 英语翻译是易变的,性情不定的。常看到用来修饰成员函数变量,表示这个函数可以被修改,即使这个变量在const函数中,mutable修饰的变量也能被修改,从而忽略const的限制。

#include <iostream>

class CMutable
{
public:
    CMutable(void):m_Count(0){}
    ~CMutable(void){}

    int countMutable() const
    {
        m_Count++;
        return m_Count;
    }

private:
    mutable int m_Count;
};

int main()
{
    CMutable MyMutable;
    int Res = MyMutable.countMutable();

    return 1;
}

在上面类中计算countMutable()中虽然const修饰,但是对象的成员变量m_Count还是可以被修改。但是请注意,mutable的不能用来修饰static和const变量,因为static属于类而不属于具体某个对象,而mutable就是用来表示类对象的某些数据成员在const函数中可以被修改,所以两者无关联。const本就是互斥的,在一起就冲突矛盾了,不能修饰。

【参考资料】
【1】https://msdn.microsoft.com/en-us/library/4h2h0ktk.aspx
【2】http://www.jb51.net/article/42046.htm

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

c++关键字详解(volatile, mutable, explicit, dynamic_ cast<T>(expression))等

c++关键字详解(volatile, mutable, explicit, dynamic_ cast(expression))等 1  volatile 有些变量是用volati...

C++ 关键字 mutable

在C++中,mutable是为了突破const的限制而设置的。被mutable修饰的变量,将永远处于可变的状态,即使在一个const函数中,甚至结构体变量或者类对象为const,其mutable成员也...

C++中的mutable关键字

mutalbe的中文意思是“可变的,易变的”,跟constant(既C++中的const)是反义词。    在C++中,mutable也是为了突破const的限制而设置的。被mutable修饰的变量,...

深入理解C++中的mutable关键字

mutalbe的中文意思是“可变的,易变的”,跟constant(既C++中的const)是反义词。   在C++中,mutable也是为了突破const的限制而设置的。被mutable修饰的变...

深入理解C++中的mutable关键字

mutalbe的中文意思是“可变的,易变的”,跟constant(既C++中的const)是反义词。   在C++中,mutable也是为了突破const的限制而设置的。被mutable修饰的变...

深入理解C++中的mutable关键字

mutalbe的中文意思是“可变的,易变的”,跟constant(既C++中的const)是反义词。   在C++中,mutable也是为了突破const的限制而设置的。被mutable修饰的变...

深入理解C++中的mutable关键字

mutalbe的中文意思是“可变的,易变的”,跟constant(既C++中的const)是反义词。   在C++中,mutable也是为了突破const的限制而设置的。被mutable修饰的变...

深入理解C++中的mutable关键字

mutalbe的中文意思是“可变的,易变的”,跟constant(既C++中的const)是反义词。   在C++中,mutable也是为了突破const的限制而设置的。被mutable修饰的变...

c++中的 mutable 关键字

我们在学习C++类的时候,经常会看到这样的成员函数 void function_name(...)const;相比普通的成员函数,其最后加 了个 const,像这种在函数声明的参数表后面出现的c...

深入理解C++中的mutable关键字

mutalbe的中文意思是“可变的,易变的”,跟constant(既C++中的const)是反义词。   在C++中,mutable也是为了突破const的限制而设置的。被mutable修饰的变...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)