这里是“作用域锁”习语的例子,它有一个常见的错误:没有创建局部变量,所以锁没有生效。这段代码在VC++2010和ComeauC++在线编译都完美无缺:classMutex{public:voidlock(){}};classScopedLock{public:ScopedLock():m_pm(0){}ScopedLock(Mutex&m):m_pm(&m){m_pm->lock();}private:Mutex*m_pm;private:ScopedLock&operator=(constScopedLock&);ScopedLock(constScopedLock&);};clas