В следующем примере кода — это плохая практика? Кроме того, почему компилятор входит во 2-й оператор в скобках? Странно, я никогда не сталкивался с этим раньше, но это произошло в ситуации интервью. Я бы подумал, что 2-й сегмент в скобках будет искать другое условное утверждение. Код выглядит следующим образом:
if ( condition )
{
// some code
}
{
// some code
}
Спасибо за любые полезные объяснения заранее.
Вы можете сделать блок, используя {
а также }
в любом месте; его не нужно прикреплять к if
состояние.
Это может быть полезно для контроля времени жизни объекта.
{
MyObject foo;
// ... do something with foo ...
} // MyObject just went out of scope, so its destructor is called
// foo is no longer defined
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
}