Bonjour,
Est-il judicieux d'utiliser le mot clé mutable dans les conditions ci-dessous ?
Dans ce cas je cherche à éviter le calcul de la longueur lorsque cela est possible. Mais je voudrais aussi garder le caractère constant de la méthode qui calcule la longueur (puisque sémantiquement elle ne modifie rien dans l'objet)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25 class Vect2D{ public: ... float getLength() const{ if(!m_length_computed) { m_length_computed = true; return m_length = sqrt(pow(m_x, 2) + pow(m_y, 2)); } else{ return m_length; } } ... private: float m_x, m_y; mutable T m_length; mutable bool m_length_computed; }
Partager