• [^] # Re: 'mutable' ?

    Posté par (site web personnel) . En réponse au message Appeler une méthode non-const à partir de la méthode const homonyme. Évalué à 1. Dernière modification le 09 janvier 2014 à 10:15.

    Je plusoie l'utilisation du mutable, notamment dans ce cas.

    Le mutable doit être utilisé dans le cas de "fausses données", des données qui peuvent être (et sont) calculées à partir de "vrai données" (cache, debug, variable intermédiaire et autres vicieuseries).

    C'est clairement le cas ici. sum_i dépend entièrement de data (qui en plus est const). Je mettrai donc sum_i et is_initialized en mutable (et private).

    Après, de manière plus générale et pour ne pas répondre à ta question; vu que data est constant, sum_i l'est aussi. Tu devrais aussi le mettre en const est le calculer dans le constructeur. (Mais l'exemple que tu as donné n'est peut être qu'un cas simplifié de ton vrai problème)

    Matthieu Gautier|irc:starmad