Почему здесь вызывается 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
Это, кажется, сбивает с толку меня, так как в этом коде, хотя я инициализирую во время объявления, это происходит через оператор присваивания, а не конструктор копирования. Я правильно понимаю? ??