可能重复:
为什么类的静态成员函数没有“常量正确性”的概念?
这个问题与我在 SO 上找到的许多问题非常相似,但在你得到重复的后触发手指抽搐之前,让我解释一下:
静态函数没有this
对象的概念,这很好,并且拥有静态 const 函数没有意义,因为 const 会暗示 a const *this
,在此上下文中不存在。
但是,同一个命名空间中的其他静态变量呢?为什么静态 const 函数不能工作,以便将 const 限定符放在同一命名空间中的所有静态变量上(或者可能全部)?
由于静态 const 函数没有目的并且不会编译,有没有理由为什么这不能有单独的含义?即:“一个静态常量函数不能修改其他静态变量”。
也许它使语言实现复杂化?有没有考虑过?
谢谢