- 如果在复合语句块中定义一个新的变量,则仅当程序执行该语句块中的语句时,该变量才存在,执行完语句块,变量被释放。
- 如果在语句块中声明一个已存在的变量,则在声明位置到内部语句块结束的范围之内,新变量将隐藏就变量;然后就变量再次可见,如下例所示:
int main()
{
int x = 20;
{
cout<<x<<endl; //20
int x = 100;
cout<<x<<endl; //100
}
cout<<x<<endl; //20
return 0;
}