Создание объекта через new и конструктор

В чем отличие при создании объекта через конструктор, например вот так:

Class1 obj()

от создания через new:

Class1 *obj = new Class1()

VS19 выдавал ворнинг С6262 когда я создавал как в первом примере, при создании указателя этот ворнинг пропал, интересно знать почему так вышло.


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

Автор решения: Кирилл Малышев

В первом случае объект располагается на стеке и память для него освободится после выхода из функции, во втором — в динамической памяти и тогда память нужно освобождать вручную с помощью delete.

https://ravesli.com/urok-105-stek-i-kucha/

Соответственно, предупреждение было из-за того, что объект требовал слишком много стековой памяти.

→ Ссылка