Разница инициализации объектов С++

не могли бы объяснить разницу в инициализации объектов, например:

  1. MyClass var(val1, val2);
  2. MyClass *var = new MyClass(val1, val2);

Я правильно понимаю, что в первом случае идете выделение памяти из стека, а во-втором из кучи? Какие еще различия того или иного объявления? Заранее спасибо


Ответы (1 шт):

Автор решения: user7860670

Нет, вы понимаете неправильно. В первом случае создается объект со статическим (если объявление не в функции) либо с автоматическим временем хранения. Во втором случае создается два объекта: указатель опять со статическим (если объявление не в функции) либо с автоматическим временем хранения и еще один объект с динамическим временем хранения.

→ Ссылка