我非常喜欢scoped_lock如何工作,并且想知道天气可以做一个类似的实现来计算特定的执行代码
如果说我实现了一个简单的类scoped_timer,它在构造时启动一个计时器并在删除时停止并报告已经过的时间,那么这个示例代码是否会正确计时
func()
{
//some code
{
scoped_timer a;
//some code that does not include a
}
//some code
}
在实践中,我保证scoped_time a
在开始时被构造并且在它超出范围时被完全破坏。编译器是否可以决定对代码进行重新排序,以免在范围结束时完全破坏代码或在开头构造它,因为不依赖于object a
?是否有C ++标准的保证?
由于
丹尼尔