bonsoir,
Derrière l'aspect trollesque de la question, il y a, je crois, une question intéressante.
En effet, si dans une fonction membre constante, on peut:
1. modifier une variable membre déclarée mutable
2. modifier des variables globales | statiques
De plus, sachant qu'à n'importe quel endroit du code on peut casser la constance avec un const_cast, alors question: "à quoi sert le mot-clé const?"
Une réponse possible est: "ça ajoute de la sémantique, du sens, au code". Donc ça ne serait qu'à titre indicatif à l'attention de la personne qui lira le code?
Pourtant j'use et j'abuse de const, mais vous voyez, en y réfléchissant (et quand je suis de mauvaise humeur), je me dit: "si le stagiaire peut casser ma resplendissante const-conformité sans avoir besoin de modifier mon code.. à quoi bon?"
Du coup, je me demande si, plutôt que de supprimer le mot-clé const, il ne serait pas une bonne idée d'en ajouter un. Quelque chose du style pure_const, et qui serait intransigeant avec la const_conformité et qui interdirait les 3 points que j'ai énuméré au début.
Partager