Les 18
RAII en resourcebeheer
Resource Acquisition Is Initialization: resources koppelen aan de levensduur van een object, en de rule of zero.
🎯 Na deze les kun je
- uitleggen wat RAII is en welk probleem het oplost
- een eigen RAII-klasse schrijven die een C-resource beheert
- kopiëren uitschakelen voor een klasse die een resource bezit
- de rule of zero toepassen
In C moest je elke fopen afsluiten met fclose en elke malloc met free. Op elk pad door je functie, ook als er halverwege iets misgaat en je vroeg returnt. Vergeet je er één, dan lekt je programma. RAII (Resource Acquisition Is Initialization) lost dat op met een simpel idee: koppel een resource aan een object. De constructor neemt de resource, de destructor geeft hem terug. Omdat de destructor altijd wordt aangeroepen (les 15), kun je het opruimen niet meer vergeten.
Python's with open(...) as f: is hetzelfde idee, maar dan expliciet. In C++ is het ingebouwd in elk object.
🔒 Deze les zit in het betaalde deel van de cursus
De eerste 5 lessen zijn gratis; de rest van de cursus, de live labs en het certificaat koop je eenmalig (€ 29,00). Geen abonnement. Online afrekenen komt binnenkort beschikbaar.
Wil je een seintje als het zover is?