在下面的代码示例中 - 这是不好的做法吗?另外为什么编译器会进入第二个括号语句?奇怪的是,我以前从未经历过这种情况,但它是在面试的情况下出现的。我原以为第二个括号部分会寻找另一个条件语句。代码如下:
if ( condition )
{
// some code
}
{
// some code
}
感谢您提前提供任何有用的解释。
在下面的代码示例中 - 这是不好的做法吗?另外为什么编译器会进入第二个括号语句?奇怪的是,我以前从未经历过这种情况,但它是在面试的情况下出现的。我原以为第二个括号部分会寻找另一个条件语句。代码如下:
if ( condition )
{
// some code
}
{
// some code
}
感谢您提前提供任何有用的解释。
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
}
你可以在任何地方使用{
and来创建一个块}
;它不需要附加到if
条件上。
它对于控制对象的生命周期很有用。
{
MyObject foo;
// ... do something with foo ...
} // MyObject just went out of scope, so its destructor is called
// foo is no longer defined