Qu'est-ce que RAII (Resource Acquisition Is Initialization) en C++ et pourquoi en a-t-on besoin ?
Salut les collègues ! J'apprends le C++ et j'entends constamment parler de RAII, mais je n'arrive pas à comprendre complètement ce concept. Apparemment, cela se traduit par "l'acquisition de ressource est l'initialisation", mais cela semble un peu confus.\n\nJ'ai un problème concret. J'écris une petite classe pour travailler avec des fichiers. Voici mon code :\n\n```cpp\nclass FileHandler {\npublic:\n FileHandler(const char* filename) {\n file = fopen(filename, "r");\n if (!file) {\n std::cerr << "Impossible d'ouvrir le fichier" << std::endl;\n }\n }\n \n void readData() {\n // lire les données\n char buffer[100];\n fgets(buffer, 100, file);\n }\n \n ~FileHandler() {\n // ici j'oublie de fermer le fichier\n }\n \nprivate:\n FILE* file;\n};\n```\n\nLe problème est que j'oublie souvent de