Resource icon

[C++] Das RAII-Prinzip

-AB-

Well-Known Member
c-b Team
c-b Experte
#1
-AB- hat eine neue Ressource erstellt:

[C++] Das RAII-Prinzip - Do it RAIIght from the start.

RAII - Resource Acquisition Is Initialization - ist eins der Konzepte, ohne deren Kenntnis man eigentlich keinen schönen und sicheren Code schreiben kann.

Der Wikipedia-Artikel ist relativ kurz, wer mehr darüber lesen möchte, dem Empfehle ich Scott Meyers "Effective C++", dort geht ein ganzes Kapitel über Ressourcenverwaltung mittels RAII. Da Bjarne Stroustrup das RAII "erfunden" hat, findet man sicher auch in seinen Büchern einiges, die hab ich...
Weitere Informationen zu dieser Ressource...
 

-AB-

Well-Known Member
c-b Team
c-b Experte
#3
Und ich dachte immer, dass alles was nicht dem RAII Prinzip entspricht, automatisch C Code wäre :D
Hm, umgekehrt stimmt es - in C kann man es nicht umsetzen :)
Erschreckenderweise ist das RAII-Prinzip relativ unbekannt, viele Coder "akzeptieren" einfach Memory Leaks oder debuggen Deadlocks eben dann, wenn sie auftreten - oder meinen, wenn sie nur "gut genug aufpassen", machen sie keine Fehler. Das mag stimmen, kostet aber immer mehr und mehr Zeit, je größer ein Projekt wird, bis die Produktivität irgendwann auf 0 sinkt ;)
 

German

Well-Known Member
c-b Experte
#4
umgekehrt stimmt es
Schon klar, deshalb hatte ich das breite Grinsen dahinter gemalt ;) Mir war RAII nur als eines der herausragenden Vorteile gegenüber C bekannt. Klar ist C++ kein "Managed Code", bei dem man Speicherverwaltung aus dem Gedächtnis streichen könnte. Aber immerhin hat man überwiegend die Möglichkeit einen relativ sicheren Code zu schreiben. Umso mehr erstaunt es mich wenn du schreibst, dass es kaum jemand nutzt. Objektorientiertheit ist doch nicht das einzige, was C++ bietet :confused: (Nicht dass ich tief genug in der C++ Materie stecken würde, aber das ist zumindest mein Verständnis.)
 
Oben