On Monday, 27 August 2018 at 03:06:17 UTC, John Carter wrote:

The last few years I have told myself (and anyone who doesn't back away fast enough) that "Constructors" do _not_ construct objects, they are "Name Binders." (Sort of like lisp's "let" macro)

They bind instance variable names to pre-existing sub-objects.

One could say there is "storage" and "instantiation" of an object.
C++ binds the two in the same operation.

D does not, T.init must be a valid object. This is a major cultural change, though I believe the D way is superior on the efficiency stand-point (you can create large arrays of valid objects quite fast).

Reply via email to