Hintergrundeinführung
Bei der Ausführung eines C++-Programms ist die Ressourcenzuweisung unvermeidlich – insbesondere in Spielen! Es kann viele Ressourcen geben, von Texturen, Sounds, Shader-Codes bis hin zu Handles und Strings. Diese Dinge können als Ressourcen bezeichnet werden. Die Ressourcenverwaltung ist ein sehr wichtiger Schritt im Projekt. Wenn sie nicht richtig durchgeführt wird, kann dies von Speicherlecks bis hin zu Speicherabstürzen reichen. RAII ist eine wichtige Programmieridee, die für die Ressourcenverwaltung in C++-Projekten verwendet wird.
Lassen Sie mich zuerst über C++ sprechen
Das Unverzichtbare in C++ ist die Klasse, und das Unverzichtbare für jede Klasse ist der Konstruktor und Destruktor. Ersteres wird für eine Reihe von Operationen verwendet, die beim Erstellen des Objekts ausgeführt werden, und letzteres wird für die Funktionen verwendet, die beim Zerstören des Objekts ausgeführt werden.
Es ist erwähnenswert, dass in C++, wenn eine Klasse im Stapelbereich deklariert wird, die Klasse nach Ausführung der Funktion automatisch aus dem Stapelbereich angezeigt wird der Zerstörer. Wenn es jedoch explizit im Heap-Bereich deklariert wird (mit der neuen Methode oder der Malloc-Methode), müssen Sie die Lösch- oder Free-Funktion explizit aufrufen, um es zu zerstören.
Die oben genannten C++-Kenntnisse sind erforderlich, um diesen Blog zu verstehen. Es sollte nicht schwierig sein...
Gesamtkonzept
C++ hat viele seltsame Namen, wie yacc, raii usw. Dies kann als lange und stolze Tradition angesehen werden2333333.
RAII ist ein sehr typisches Beispiel. Es bedeutet „Ressourcenbeschaffung ist Initialisierung“ (Ressourcenbeschaffung ist Initialisierung), nicht „Initialisierung ist Initialisierung“, wie manche Leute denken Ressourcenbeschaffung. Übrigens, wenn Sie komisch sein wollen, geben Sie ihm einfach die Schuld, sonst wird der Effekt nicht erzielt.
RAIIs Technologie ist sehr einfach und nutzt das Konzept des C++-Objektlebenszyklus zur Steuerung von Programmressourcen. Das technische Prinzip ist sehr einfach. Wenn Sie eine wichtige Ressource verfolgen möchten, erstellen Sie ein Objekt und verknüpfen Sie den Lebenszyklus der Ressource mit dem Lebenszyklus des Objekts. Auf diese Weise können die C++-eigenen Objektverwaltungsfunktionen Ressourcen verwalten.
...
Das Obige ist der Inhalt der RAII-Programmierideen für das C++-Lernen Weitere verwandte Inhalte. PHP-chinesische Website (m.sbmmt.com)!