我对 .cpp 文件之间的变量访问如何工作有点模糊。例如:
主文件
int main()
{
int a = i;
return 0;
}
main2.cpp
int i;
这会在 main.cpp 上生成一个编译器错误,告诉我 i 中不存在。那么,“静态”关键字在这种情况下有什么区别呢?(我试过用谷歌搜索,但大多数“静态关键字”信息页面都在谈论类和函数)
main2.cpp
static int i;
是一样的吗?它是否防止extern int i
被用于访问i
其他地方?匿名命名空间的使用在处理变量方面有何不同?
main2.cpp
namespace
{
int i;
}
总结一下:
- .cpp 文件之间可以访问变量吗?(除了 extern 关键字)
- 全局变量上的 static 关键字如何影响事物?
- 匿名命名空间如何以不同的方式影响事物?