Стандарт C ++ говорит это о const
функциях-членах:
Если функция-член объявлена const
, типом этого является const X*
, [...]
В функции-члене const
доступ к объекту, для которого вызывается функция, осуществляется через const
путь доступа;следовательно, функция-член const
не должна изменять объект и его нестатические члены-данные.
Таким образом, вы видите, что только нестатические члены-данные являются частью «константности» членаfunction.
Однако, я думаю, что более важно, это указывает на то, что хороший способ понять, что происходит с const
функциями-членами, - это сделать неявный указатель this
указателем на const
.
Поскольку к статическим элементам нет необходимости обращаться через указатель this
(неявно или явно), доступ к ним не квалифицирован const
.