C++ Tutorial/Language Basics/mutable
Demonstrate mutable.
<source lang="cpp">#include <iostream> using namespace std; class MyClass {
mutable int i; int j;
public:
int geti() const { return i; // ok } void seti(int x) const { i = x; // now, OK. }
/* The following function won"t compile.
void setj(int x) const { j = x; // Still Wrong! }
- /
}; int main() {
MyClass ob; ob.seti(1900); cout << ob.geti(); return 0;
}</source>
1900"
Demonstrating storage-class specifier mutable
<source lang="cpp">#include <iostream> using std::cout; using std::endl; class MyClass { public:
MyClass( int v ) { value = v; } int getValue() const { return value++; }
private:
mutable int value;
}; int main() {
const MyClass test( 99 ); cout << "Initial value: " << test.getValue(); cout << "\nModified value: " << test.getValue() << endl; return 0;
}</source>
Initial value: 99 Modified value: 100