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:
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; }