在这种特殊情况下,它看起来很奇怪,就像一个候选人.在其他情况下可能有用:
Foo foo; { ReturnValue v = foo.SayHello(); Send(v); } ...
它会限制范围v
.一个常见的用途是使其中的对象更早破坏.然后可以在大括号内使用在构造函数和析构函数中执行特殊操作的类:
Foo foo; { MutexLocker locker(sendMutex); ReturnValue v = foo.SayHello(); Send(v); } ...
v
在该示例中发送时将保持发送队列的锁定,并且当在闭合支撑处销毁锁定器时释放.
在这种特殊情况下,它看起来很奇怪,就像一个候选人.在其他情况下可能有用:
Foo foo; { ReturnValue v = foo.SayHello(); Send(v); } ...
它会限制范围v
.一个常见的用途是使其中的对象更早破坏.然后可以在大括号内使用在构造函数和析构函数中执行特殊操作的类:
Foo foo; { MutexLocker locker(sendMutex); ReturnValue v = foo.SayHello(); Send(v); } ...
v
在该示例中发送时将保持发送队列的锁定,并且当在闭合支撑处销毁锁定器时释放.