Mutable keyword

来源:互联网 发布:jenkins 卸载 windows 编辑:程序博客网 时间:2024/05/17 04:55
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举个例子:#include <iostream>#include <iomanip>using namespace std;class C{public: C(int i):m_Count(i){} int incr() const//注意这里的const {  return ++m_Count; } int decr() const {  return --m_Count; }private: mutable int m_Count;//你可以试着将这里的mutable去掉再编译试试};void main(){ C c1(0),c2(10); for(int tmp,i=0;i<10;i++) {  tmp = c1.incr();  cout<<setw(tmp)<<setfill(' ')<<tmp<<endl;  tmp = c2.decr();  cout<<setw(tmp)<<setfill(' ')<<tmp<<endl; }}

原创粉丝点击