变量作用域:根据变量可被访问到的范围定义。
一.局部变量
只在{ }括号内有效。
例如:下面四处a在各自{ }范围内可见。
class Person {
private:
int a;//1
};
void func1() {
int a = 10;//2
{
int a = 10;//3
}
}
int main() {
int a = 10;//4
}
二.全局变量
在整个工程文件中都可见,包括参与链接的文件。同时,这样全局都可见,也会导致访问二义性。
例如:在下面2个文件中都存在a变量,导致最终访问a变量存在二义性问题。
文件1:main.cpp
文件2:test.h
运行:
三.文件级变量
只在本文件中可见,其他文件中不可访问。
使用加static。
例如:
文件1:main.cpp
文件:test.h
test.cpp
结果: