当变量位于 .cpp 文件的全局范围内而不是函数中时,将其标记为 static
是否有用?
你也可以对函数使用 static 关键字吗?如果是,它们的用途是什么?
最佳答案
是的,如果你想声明文件范围变量,那么 static
关键字是必要的。 static
在一个翻译单元中声明的变量不能被另一个翻译单元引用。
顺便说一句,static
关键字的使用在 C++03 中已被弃用。
C++ 标准 (2003) 中的 $7.3.1.1/2 部分内容如下:
The use of the static keyword is deprecated when declaring objects in a namespace scope; the unnamed-namespace provides a superior alternative.
C++ 更喜欢 unnamed 命名空间而不是 static
关键字。请参阅此主题:
关于c++ - 在全局范围内使用静态变量和函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4725204/