It means:
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
Note that the compiler can make calls to the copy constructor. Are they equivalent? - well, it depends on what the copy constructor and assignment operator do.
anon
source
share