Bonjour,
Selon ce que j'ai compris, une variable mutable est une variable qu'on peut modifier, même quand elle est const.
1) Est-ce le seul effet de ce mot clé ?
2) Dans quel cas utilise-t-on, dans la vie réelle, ce mot clé ?
Dans le GOTW sur l'emploi de const, ils montrent une class sans const, et expliquent où et pourquoi mettre du const.
Ici la partie de code qui m'interresse, sans les const
Ici, leur solution :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 class Polygon { public: Polygon() : area_(-1) {} private: void InvalidateArea() { area_ = -1; } double area_; };
Pour pouvoir annoncer une fonction const, il rend mutable la variable.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 class Polygon { public: Polygon() : area_(-1) {} private: void InvalidateArea() const { area_ = -1; } mutable double area_; };
Si quelqu'un veut bien éclairer ma lanterne sur ces questions, je lui en serais reconnaissant.
Merci
Partager