Почему discards qualifiers?
Если нужен кеш в объекте, его можно пометить как mutable
Все честно - у вас константный метод намеревается слазить в  поле класса и поменять его! Произвол! И да, ваш костыль с указателем - ни в какие ворота.