So vermeiden Sie anonyme C ++ - Objekte
Ich habe einScopedLock
Klasse, mit deren Hilfe die Sperre automatisch aufgehoben werden kann, wenn der Gültigkeitsbereich erschöpft ist. Das Problem ist jedoch: Manchmal schreiben Teammitglieder einen ungültigen Sperrcode wie
{
ScopedLock(mutex); // anonymous
xxx;
}
Der obige Code ist falsch, weil derScopedLock
Objekt wird konstruiert und zerstörtsofortwird der erwartete Bereich nicht gesperrt (xxx
). Ich möchte, dass der Compiler einen Fehler ausgibt, wenn er versucht, solchen Code zu kompilieren. Kann das gemacht werden?
ich habe gesuchtg++
Warnoptionen, finden aber nicht die richtige.