Die Klasse Secure dient dem bequemen Schutz kritischer
Abschnitte. Dabei wird die Tatsache ausgenutzt, dass der C++
Compiler für jedes Objekt automatisch Konstruktor- und
Destruktoraufrufe in den Code einbaut und dass ein Objekt seine
Gültigkeit verliert, sobald der Bereich (scope), in dem
es deklariert wurde, verlassen wird.
Wenn im Konstruktor von Secure also ein kritischer Abschnitt betreten
und im Destruktor wieder verlassen wird, kann die Markierung
kritischer Codebereiche ganz einfach folgendermaßen erfolgen:
// unkritisch
...
{ Secure section;
// hier kommen die kritischen Anweisungen
...
}
// Ende des kritischen Abschnitts
öffentliche Methoden
Secure ()
Im Konstruktor wird der durch das Guard Objekt guard
geschützte kritische Abschnitt betreten.
~Secure ()
Im Destruktor wird der kritische Abschnitt wieder verlassen.
Hinweis
Die Methoden der Klasse sind so kurz, dass sie am besten
inline definiert werden sollten.