Как избежать C ++ анонимных объектов
у меня естьScopedLock
класс, который может помочь автоматически снять блокировку при выходе из области видимости. Однако проблема заключается в следующем: иногда члены команды пишут недопустимый код блокировки, такой как
{
ScopedLock(mutex); // anonymous
xxx;
}
Приведенный выше код неверен, потому чтоScopedLock
объект построен и разрушеннемедленно, поэтому он не может заблокировать ожидаемую область (xxx
). Я хочу, чтобы компилятор выдавал ошибку при попытке скомпилировать такой код. Можно ли это сделать?
Я искалg++
варианты предупреждения, но не удается найти правильный.