C++ 中的全局标识符static
和非全局标识符有什么区别?static
问问题
13068 次
4 回答
11
全局static
变量仅在变量所在的翻译单元(即源文件)中可用。非静态全局变量可以从其他源文件中引用。
于 2012-10-31T16:05:40.503 回答
3
全局非静态变量可从其他文件访问,而静态全局变量则不可
于 2012-10-31T16:11:33.697 回答
3
如果您不知道有什么区别,正确的答案可能会让您更加困惑。简而言之,static
类的 s 与文件范围内的静态无关。类的静态本质上与常规变量相同,但必须通过在它们前面加上类名来引用它们。文件范围内的静态变量是仅对文件本地的常规变量。要了解这意味着什么,请尝试将两个具有相同名称的变量添加到单个项目中。您将收到链接器错误,因为有多个相同的符号。通过使符号静态,您将避免问题和变量的名称将无法从文件外部访问。
于 2012-10-31T22:32:18.827 回答