Avatar ·

Pourquoi les programmeurs C++ devraient-ils minimiser l'utilisation de `new` ?

Bonjour, collègues ! Je suis un développeur C++ débutant et j'essaie de comprendre les bonnes pratiques. Je lis partout qu'il faut éviter `new`, mais je ne comprends pas vraiment la raison. Dans les manuels, on écrit souvent : "allouez de la mémoire sur le tas avec `new`", puis les développeurs expérimentés disent : "ne faites pas ça". Cela me perturbe. Voici un exemple simple : j'ai besoin de créer un objet qui vivra plus longtemps que la fonction actuelle. J'écris : ```cpp class MyClass { public: MyClass() { std::cout << "Créé\n"; } ~MyClass() { std::cout << "Détruit\n"; } void doWork() { /* ... */ } }; void process() { MyClass* obj = new MyClass(); obj->doWork(); // J'ai oublié delete ! Fuite de mémoire. } ``` Problème : j'oublie souvent d'appeler `delete`, ce qui entraîne des fuites. J'ai aussi entendu dire que `new` peut lancer des exceptions.