0

在下面的代码示例中 - 这是不好的做法吗?另外为什么编译器会进入第二个括号语句?奇怪的是,我以前从未经历过这种情况,但它是在面试的情况下出现的。我原以为第二个括号部分会寻找另一个条件语句。代码如下:

if ( condition )
{
    // some code
}
{
    // some code
}

感谢您提前提供任何有用的解释。

4

2 回答 2

1
if ( condition )
{
    // gets executed if condition == TRUE
}
{
    // always gets executed, has nothing to do with previous if statement
    int a = 42 ; //only exists inside brackets
}
于 2013-04-04T21:29:06.787 回答
1

你可以在任何地方使用{and来创建一个块};它不需要附加到if条件上。

它对于控制对象的生命周期很有用。

{
    MyObject foo;
    // ... do something with foo ...
}   // MyObject just went out of scope, so its destructor is called
// foo is no longer defined
于 2013-04-04T21:31:25.630 回答