首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

关于 mutable 的懂得

2012-08-07 
关于 mutable 的理解mutable在我印象中好像看到的次数比较少, 对它也不怎么了解,在这里问下这个关键词到底

关于 mutable 的理解
mutable 在我印象中好像看到的次数比较少, 对它也不怎么了解, 

在这里问下 这个关键词到底是 做什么用的?

[解决办法]
当然,mutable的作用是寻求一种安全的type system。可能没做过什么大工程,还不能体会其用意吧。不过总的来说,这个关键词并未起到重要的角色。
mutable member-variable-declaration;
This keyword can only be applied to non-static and non-const data members of a class. If a data member is declared mutable, then it is legal to assign a value to this data member from a const member function.
以上来自MSDN。
译:这个关键词只能被用来修饰一个类中的non-static 和 non-const 的数据成员。如果一个数据成员被声明为mutable,那么从一个const 成员函数分配一个值给这个数据成员,这样做是合法的。
[解决办法]
在一个类中,如果成员函数是const的(即成员函数最后有const关键字),那么该成员函数就不能修改对象中的成员变量。但是,如果某个成员变量用mutable修饰过的话,那么即使成员函数是const的,也可以修改该成员变量。

热点排行