В этом конкретном случае это выглядит довольно странно и как кандидат на проверку. Может быть полезно в других случаях:
Foo foo;
{
ReturnValue v = foo.SayHello();
Send(v);
}
...
Где это ограничит область действия v
. Одно из распространенных применений - заставить объекты в нем разрушаться раньше. Классы, которые делают специальные вещи в своих конструкторах и деструкторах, могут затем использоваться внутри фигурных скобок:
Foo foo;
{
MutexLocker locker(sendMutex);
ReturnValue v = foo.SayHello();
Send(v);
}
...
Блокировка для очереди отправки будет удерживаться при отправке v
в этом примере и сниматься, когда шкафчик разрушается на закрывающей скобке.