Почему здесь вызывается Copy Constructor, а не обычный конструктор и перегруженный оператор присваивания? [Дубликат]

Возможное дублирование:
Есть ли в C ++ разница между инициализацией копирования и прямой инициализацией?
Копирование конструкторов и операторов присваивания

У меня есть класс C, в котором я перегружен Normal, конструктор копирования и оператор присваивания, чтобы напечатать след того, что называется ..

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

C c1;                --> Normal Constuctor .. // understood Fine

C c2;
c2 = c1;             --> Normal constructor + assignment operator .. //understood Fine

C * c3 = new C(C1)   --> Copy constructor  // Understood Fine

C c4 = c1          --> copy constructor // Not Able to understand

Это, кажется, сбивает с толку меня, так как в этом коде, хотя я инициализирую во время объявления, это происходит через оператор присваивания, а не конструктор копирования. Я правильно понимаю? ??

Ответы на вопрос(3)

Ваш ответ на вопрос