最佳答案
在 C + + 中,可以在翻译单元中使用 static
关键字来影响符号的可见性(变量声明或函数声明)。
在 n3092中,这句话被否定了:
附件 D.2 [ depr.static ]
在命名空间范围内声明对象时,不推荐使用 static 关键字(参见3.3.6)。
在 n3225中,这个被删除了。
我能找到的唯一一篇文章有些非正式。
不过,它确实强调了,为了与 C 兼容(以及将 C 程序编译为 C + + 的能力) ,不赞成的态度是令人讨厌的。然而,直接编译一个 C 程序作为 C + + 已经是一个令人沮丧的经验,所以我不确定它是否值得考虑。
有人知道为什么改了吗?