Когда спецификатор mutable
используется в объявлении нестатического элемента данных, данные изменяются независимо от того, рассматривается ли остальная часть объекта как const. С этим фактом мы можем легко создать впечатление, что спецификатор mutable
является тем же самым типом, что и const
, который оказывается неверным. Фактически, язык классифицирует спецификатор mutable
как спецификатор класса хранения. Это довольно противоречиво, потому что mutable
не определяет продолжительность хранения.
Каковы обоснования этого дизайнерского решения?
Что сделало бы его менее логичным, чем казалось бы, если mutable
был квалификатором?
В чем преимущества создания спецификатора класса хранения?