当在mutable
非静态数据成员的声明中使用说明符时,无论对象的其余部分是否被视为 const,数据都是可变的。有了这个事实,我们很容易有这样的印象,即说明符与限定符mutable
是同一类东西const
,事实证明这不是真的。实际上,语言将mutable
说明符分类为存储类说明符。这是非常违反直觉的,因为mutable
没有指定存储持续时间。
这个设计决策背后的基本原理是什么?
mutable
如果是限定词 ,什么会使它看起来不那么合乎逻辑?
使其成为存储类说明符有什么好处?
当在mutable
非静态数据成员的声明中使用说明符时,无论对象的其余部分是否被视为 const,数据都是可变的。有了这个事实,我们很容易有这样的印象,即说明符与限定符mutable
是同一类东西const
,事实证明这不是真的。实际上,语言将mutable
说明符分类为存储类说明符。这是非常违反直觉的,因为mutable
没有指定存储持续时间。
这个设计决策背后的基本原理是什么?
mutable
如果是限定词 ,什么会使它看起来不那么合乎逻辑?
使其成为存储类说明符有什么好处?