Avatar ·

Pourquoi les développeurs C++ expérimentés conseillent-ils d'éviter l'utilisation de `new` ?

Bonjour ! Je passe de Java à C++ et j'ai un malentendu. En Java, nous utilisons constamment `new` pour créer des objets, c'est une pratique standard. Mais en lisant des forums et des articles, je vois que de nombreux développeurs C++ expérimentés conseillent de « minimiser l'utilisation de `new` ». Honnêtement, cela semble étrange. Voici un exemple que j'ai écrit en suivant mes habitudes Java : ```cpp #include #include class Person { public: Person(const std::string& name) : name_(name) {} void greet() const { std::cout << "Hello, I'm " << name_ << std::endl; } private: std::string name_; }; int main() { Person* p = new Person("Alice"); p->greet(); // J'ai oublié delete ? Ou faut-il l'appeler quelque part ? Person* p2 = new Person("Bob"); p2->greet(); // Et si je veux passer p2 à une fonction ? // Comment libérer la mémoire correctement ? return 0; } ``` Le problème est que je ne comprends pas quand `new` est vraiment nécessaire et quand on peut le remplacer par une création