Junior — Middle
Pouvez-vous expliquer le mécanisme de fonctionnement de l'opérateur new lors de la création d'objets dans le langage de programmation?
sobes.tech IA
Réponse de l'IA
Оператор new в C++ выделяет память под объект в динамической области (куче) и возвращает указатель на эту память. При этом вызывается конструктор объекта для инициализации.
Пример:
int* p = new int(5); // выделяет память под int и инициализирует значением 5
class MyClass {
public:
MyClass() { /* инициализация */ }
};
MyClass* obj = new MyClass(); // выделяет память и вызывает конструктор
Важно: оператор new отличается от оператора new в C, который просто выделяет память без вызова конструкторов. В C++ new сочетает выделение памяти и инициализацию объекта.