Anhang C. Resource Acquisition Is Initialization

Resource Acquisition Is Initialization, kurz RAII, bezeichnet eine beliebte Programmiertechnik in C++, bei der die Ressourcenbelegung und -freigabe an den Lebenszyklus einer Objekts gebunden werden. Konkret heißt dies, dass die Ressource – das kann ein Mutex, eine Datei oder auch dynamischer Speicher sein – im Konstruktor des Objekts initialisiert und im Destruktor wieder freigegeben wird. Das ist in C++ möglich, da insbesondere der Destruktor eines Objekts genau dann aufgerufen wird, wenn das Objekt seinen Gültigkeitsbereich verliert.

Dieses deterministische Verhalten lässt sich am besten anhand eines kleinen Programms aufzeigen:

raii.cpp

01 #include <iostream> 02 #include <string> 03 04 class ResourceGuard{ ...

Get C++11 für Programmierer now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.