Categories:
.NET (357)
C (330)
C++ (183)
CSS (84)
DBA (2)
General (7)
HTML (4)
Java (574)
JavaScript (106)
JSP (66)
Oracle (114)
Perl (46)
Perl (1)
PHP (1)
PL/SQL (1)
RSS (51)
Software QA (13)
SQL Server (1)
Windows (1)
XHTML (173)
Other Resources:
"mutable" Keyword - What is "mutable"?
"mutable" Keyword - What is "mutable"?
✍: Guest
Answer1.
"mutable" is a C++ keyword. When we declare const, none of its data members can change. When we want one of its members to change, we declare it as mutable.
Answer2.
A "mutable" keyword is useful when we want to force a "logical const" data member to have its value modified. A logical const can happen when we declare a data member as non-const, but we have a const member function attempting to modify that data member. For example:
class Dummy { public: bool isValid() const; private: mutable int size_ = 0; mutable bool validStatus_ = FALSE; // logical const issue resolved }; bool Dummy::isValid() const // data members become bitwise const { if (size > 10) { validStatus_ = TRUE; // fine to assign size = 0; // fine to assign } }
Answer3.
"mutable" keyword in C++ is used to specify that the member may be updated or modified even if it is member of constant object. Example:
class Animal { private: string name; string food; mutable int age; public: void set_age(int a); }; void main() { const Animal Tiger(’Fulffy’,'antelope’,1); Tiger.set_age(2); // the age can be changed since its mutable }
2012-03-30, 3554👍, 0💬
Popular Posts:
How To Merge Cells in a Row? - XHTML 1.0 Tutorials - Understanding Tables and Table Cells If you wan...
What is AL.EXE and RESGEN.EXE? In the previous question you have seen how we can use resource files ...
Can you explain different software development life cycles -part II? Water Fall Model This is the ol...
What is the difference between Authentication and authorization? This can be a tricky question. Thes...
Who Developed HTML? HTML was originally developed by Tim Berners-Lee while at CERN, and popularized ...