* Jerry Coffin:
As a final aside: officially you can't ever "call a constructor" -- you
can only create an object, and the constructor gets invoked
automatically in the process of constructing the object.
I've given up on some others, who after acknowledging the error of their
ways in debate then immediately forget it, so that the same arguments and
facts have had to be repeated later on, and then later on, and... It's
religious or some sort of imagined group membership, I think. But for the
record: the above is not "officially". It's "unofficially", as in: "in the
misleading terminology and internally inconsistent belief-set used by a
small group of folks frequenting this newsgroup, who have a habit of
immediately forgetting it when confronted with reason and the standard".
It is of course valid to oversimplify in teaching, but then one should IMO
be _very_ clear about this being an oversimplification.
And it is IMO simply wrong to use _misleading_ explanations, whether one
explains that they're oversimplified or not.
A less simplified explanation of the above: the language rules are designed
so that, unless you use very low-level constructs designed to provide a
loop-hole, you are guaranteed that every object of class type T receives
exactly one T constructor call, before anything else happens to that object
(which implies that you cannot ordinarily call a T constructor without
creating a T object, or vice versa).
Now even that is an oversimplification, but not a misleading one: it's good
enough as working model.