|
INTERVIEW QUESTIONS
PROGRAMMING LANGUAGES
C++
DETAILS
Question: mutable" Keyword - What is "mutable"?
Answer: 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 }
|
|
|
Category |
C++ Interview Questions & Answers -
Exam Mode /
Learning Mode
|
Rating |
(0.3) By 7295 users |
Added on |
7/16/2015 |
Views |
71052 |
Rate it! |
|
|
Question:
mutable" Keyword - What is "mutable"?
Answer:
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 } Source: CoolInterview.com
If you have the better answer, then send it to us. We will display your answer after the approval.
Rules to Post Answers in CoolInterview.com:-
- There should not be any Spelling Mistakes.
- There should not be any Gramatical Errors.
- Answers must not contain any bad words.
- Answers should not be the repeat of same answer, already approved.
- Answer should be complete in itself.
|
|
Related Questions |
View Answer |
|
Which recursive sorting technique always makes recursive calls to sort subarrays that are about half size of the original array?
|
View Answer
|
|
Suppose that data is an array of 1000 integers. Write a single function call that will sort the 100 elements data [222] through data [321].
|
View Answer
|
|
What are 2 ways of exporting a function from a DLL?
|
View Answer
|
|
What is the word you will use when defining a function in base class to allow this function to be a polimorphic function?
|
View Answer
|
|
Explain term POLIMORPHISM and give an example using eg. SHAPE object: If I have a base class SHAPE, how would I define DRAW methods for two objects CIRCLE and SQUARE
.
|
View Answer
|
|
ell how to check whether a linked list is circular.
|
View Answer
|
|
Write a function that swaps the values of two integers, using int* as the argument type.
|
View Answer
|
|
Write a short code using C++ to print out all odd number from 1 to 100 using a for loop
|
View Answer
|
|
Write a program that ask for user input from 5 to 9 then calculate the average
|
View Answer
|
|
In the derived class, which data member of the base class are visible?
|
View Answer
|
|
STL Containers - What are the types of STL containers?
|
View Answer
|
|
How do you traverse a Btree in Backward in-order?
|
View Answer
|
|
What is pure virtual function?
|
View Answer
|
|
How can you tell what shell you are running on UNIX system?
|
View Answer
|
|
How do you find out if a linked-list has an end? (i.e. the list is not a cycle)
|
View Answer
|
|
What is polymorphism?
|
View Answer
|
|
How do you write a function that can reverse a linked-list?
|
View Answer
|
|
What is a container class? What are the types of container classes?
|
View Answer
|
|
What is an orthogonal base class?
|
View Answer
|
|
What is a node class?
|
View Answer
|