Let T
a C++ class.
Is there any difference in behaviour between the following three instructions?
T a;
T a();
T a = T();
Does the fact that T
provides an explicit definition for a constructor that takes no parameter change anything with respect to the question?
Follow-up question: what about if T
provides a definition for a constructor that takes at least one parameter? Will there then be a difference in behaviour between the following two instructions (in this example I assume that the constructor takes exactly one parameter)?
T a(my_parameter);
T a = T(my_parameter);