标签: c++ multithreading design-patterns
可能重复: prohibiting instantiation as a temporary object (C++)
我使用Scopeguard进行锁定(简化):
{ ScopeGuard sg(mutex); // ...critical code }
我意外地输入某个地方
{ ScopeGuard(mutex); // ...critical code }
这是有效的代码,但不会延长ScopeGuard对象超过语句的生命周期。
问题:如果我在第二个示例中创建临时ScopeGuard对象,是否有任何模式会导致编译器错误或警告?
答案 0 :(得分:1)
我会利用预处理器来定义一个锁定伪关键字,如下所述:http://www.curly-brace.com/lock.html