- Оператор установит объект в стеке, вызовет c'tor.
- Определяет только переменную-указатель в стеке, конструктор не вызывается.
- Новый операторсоздаст объект в свободном хранилище (обычно в куче) и вызовет c'tor.
Но этот код не будет создавать экземпляр какого-либо объекта, так как он не компилируется.;-) Попробуйте это:
myClass class1;
myClass* class2;
myClass* class3 = new myClass;
- класс 1 - это локальная переменная (в стеке), вызываемый конструктор.
- класс 2 - указатель, конструктор не вызывается.
- класс 3 - указатель, конструктор вызывается при выполнении new.