Gar*_*ary 9 c++ function curly-braces code-snippets
我为这个过于简单化的问题道歉,但我似乎无法在我正在阅读的书中弄清楚这个例子:
void f5()
{
int x;
{
int y;
}
}
Run Code Online (Sandbox Code Playgroud)
周围int y
有什么括号?你能把牙箍放在任何你想要的地方吗?如果是这样,你何时以及为何会这样做,或者这只是书中的错误?
taf*_*o85 13
这样的大括号表明大括号内的代码现在处于不同的范围内.如果您尝试在大括号外访问y,则会收到错误.
这是一个范围变量的问题,例如:
void f5()
{
int x = 1;
{
int y = 3;
y = y + x; // works
x = x + y; // works
}
y = y + x; // fails
x = x + y; // fails
}
Run Code Online (Sandbox Code Playgroud)