Ruling out arbitrary cost copy construction?
Dmitry Olshansky
dmitry.olsh at gmail.com
Sun Oct 31 01:38:58 PDT 2010
On 31.10.2010 6:56, Andrei Alexandrescu wrote:
[snip]
> Walter and I discussed the matter again today and we're on the brink
> of deciding that cheap copy construction is to be assumed. This
> simplifies the language and the library a great deal, and makes it
> perfectly good for 95% of the cases. For a minority of types, code
> would need to go through extra hoops (e.g. COW, refcounting) to be
> compliant.
>
> I'm looking for more feedback from the larger D community. This is a
> very important decision that marks one of the largest departures from
> the C++ style. Taking the wrong turn here could alienate many
> programmers coming from C++.
>
> So, everybody - this is really the time to speak up or forever be silent.
>
>
> Andrei
The only things I've ever seen in C++ _correctly_ using _costly_ copy
constructor are containers and some bignums, but then most of the time
one need to define swap for it to perform well in the std::sort for
instance, and that is oftentimes forgotten.
That indicates that containers are better off being reference types,
which is what they are in D anyway, and bignums I do belive could use
COW/small number optimization.
I'd go with cheap constructors assumed given that it simplifies matters
a lot.
--
Dmitry Olshansky
More information about the Digitalmars-d
mailing list