Wzorce projektowe
RAII
[wzorzec projektowy] Gwarantuje prawidłowe zwolnienie przejętych zasobów.Budowa wzorca projektowego
class CObject
{
public:
void allocResources();
void freeResources();
};
class CRAII
{
private:
CObject & m_object;
public:
CRAII( CObject & object )
: m_object( object )
{
m_object.allocResources();
}
~CRAII()
{
m_object.freeResources();
}
};
Opis szczegółowy
RAII (
ang. Resource Acquisition Is Initialization) - popularny wzorzec projektowy, którego zadaniem jest przejęcie kontroli nad zasobem w chwili tworzenia obiektu (w konstruktorze) i zagwarantowanie, że zasób zostanie automatycznie zwolniony (w destruktorze).
Przykładami zastosowania wzorca projektowego RAII są szablony
lock_guard i
unique_lock biblioteki
boost. Uproszczona koncepcja działania RAII została przedstawiona w dokumencie
scoped_lock.
Zagadnienia powiązane
Wszystkie teksty są chronione prawami autorskimi. Kopiowanie lub rozpowszechnianie treści poza niniejszym serwisem
jest zabronione.
Powyższe ograniczenie nie dotyczy autora opracowania, któremu przysługuje prawo do rozpowszechniania własnego tekstu wedle własnego uznania.