在 C 和 C++ 之间的任何函数之外声明为 static
的变量之间有什么区别。我读到 static
表示文件范围,并且在文件之外无法访问变量。我还读到在 C 中,全局变量是 static
。那么这是否意味着不能在另一个文件中访问 C 中的全局变量?
最佳答案
不,在这方面 C 和 C++ 没有区别。
阅读 this SO answer关于 static
在 C 程序中的含义。在 C++ 中,对于类变量(而不是实例变量)使用 static
还有一些其他含义。
关于全局变量是 static
- 仅从内存分配的角度来看(它们是在数据段上分配的,就像所有全局变量一样)。从可见性的角度来看:
static int var; // can't be seen from outside files
int var; // can be seen from outside files (no 'static')
关于c++ - C 和 C++ 中的静态变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2528457/