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; } }
Mutable keyword
最新推荐文章于 2025-08-11 09:20:14 发布