可能重复:
我可以使用块来管理 C++ 中的变量范围吗?
我遇到了一些类似的 C++ 代码:
int main(void) {
int foo;
float qux;
/* do some stuff */
{
int bar;
bar = foo * foo;
qux = some_func(bar);
}
/* continue doing some more stuff */
}
最初我认为也许原作者使用大括号对一些相关变量进行分组,但是由于设计中的系统没有足够的内存,我认为作者可能有意图解析bar 的范围和任何变量in 离开而不是让它们在整个封闭(foo 的)范围内。
有什么理由这样做吗?在我看来,这不应该是必要的,并且任何现代编译器都使这变得不必要?