Это означает:
C c1; // default constructor
C c2; // default constructor
c2 = C(); // default constructor followed by assignment
C c3(C()); // default constructor possibly followed by copy constructor
C c4 = C(); // default constructor possibly followed by copy constructor
Обратите внимание, что компилятор может исключить вызовы конструктора копирования.Они эквивалентны?- ну, это зависит от того, что делают конструктор копирования и оператор присваивания.