Copy Constructor DIP

Andrei Alexandrescu SeeWebsiteForEmail at erdani.org
Fri Jul 13 01:21:21 UTC 2018


On 7/12/18 4:29 PM, Manu wrote:
> Being able to implement them both independently is*occasionally*
> useful, but 95% of the time, destruct + copy-construct is an equally
> efficient implementation for assignment. I'd suggest that this
> destruct+copy-construct pattern is a perfectly good substitute for
> assignment in most cases, and maybe the compiler should deploy the
> pattern as an implicit copy constructor in lieu of an explicit one?
> So, if the user specifies a complex copy constructor, but no
> assignment operator (which just blits on copy), then they've almost
> certainly introduced a bug on copying! Perhaps the compiler should
> automatically emit an assignment operator implemented as above in
> presence of a (suite of? [const/immutable/etc permutations]) 'complex'
> copy constructor?

Not the charter of the current DIP.


More information about the Digitalmars-d mailing list