变量的使用符合就近原则,会去寻找离他最近的声明。
变量的生命周期是从声明开始,到代码块}
结束
直接写在main
函数外的变量,是全局变量,直到程序结束时,其生命周期才结束。
如果代码块中的变量名与全局变量名称相同,但是要使用全局变量需要使用限定符::
示例
#include <iostream>
int a{ 100 };
int main()
{
int a{ 50 };
{
int a{ 25 };
{
char a{ 'a' };
std::cout << a << std::endl;
std::cout << ::a << std::endl;
}
std::cout << a << std::endl;
std::cout << ::a << std::endl;
}
std::cout << a << std::endl;
std::cout << ::a << std::endl;
}
结果