Ressourcenbelegung ist Initialisierung
aus Wikipedia, der freien Enzyklopädie
Ressourcenbelegung ist Initialisierung, meist abgekürzt durch RAII, für engl. resource acquisition is initialization, bezeichnet eine in der Programmiersprache C++ verbreitete Programmiertechnik, die die Steuerung der Belegung und Freigabe von Betriebsmitteln (auch Ressourcen genannt) an die Initialisierung und Deinitialisierung von Variablen koppelt.
Dabei wird die Belegung der Ressource an den Konstruktor (Initialisierung) und die Freigabe an den Destruktor (Deinitialisierung) gebunden. Da Destruktoren von automatischen Variablen beim Verlassen des Gültigkeitsbereiches der Variablen aufgerufen werden, lässt sich hierdurch die Freigabe von Ressourcen beim Verlassen von Gültigkeitsbereichen sicherstellen. Dies ist insbesondere auch beim Auftreten von Ausnahmen garantiert. RAII ist also in C++ ein Schlüsselkonzept zum Schreiben von ausnahmefestem Code.
Ein typischer Einsatzfall für RAII ist die Verwaltung von Datei-Operationen und die Steuerung von Prozess- oder Thread-Sperren in nebenläufigen Programmen.
Auch die Eigentümerschaft von mit new erworbenem Speicher kann in C++ über diese Technik gesteuert werden. In der C++-Standardbibliothek ist zu diesem Zweck beispielsweise auto_ptr definiert.