Taking a copy of an object

Bill Baxter dnewsgroup at billbaxter.com
Tue Oct 24 00:00:29 PDT 2006


Those of you who participated / care about this discussion on copying:

I created a skeletal page for consolidating the arguments made in this 
thread:
http://www.prowiki.org/wiki4d/wiki.cgi?FeatureRequestList/CopyOperator

Please feel free to flesh it out a bit more.

--bb

Derek Parnell wrote:
> Currently there doesn't seem to be any standard D mechanism (read:
> operator) to take a copy of an object. So are there any suggestions for a
> name that we can all agree on; one that might become an unofficial
> standard? 
> 
> For arrays we have the 'dup' property but for objects there is nothing that
> the compiler assumes. I'm partial to 'onDup' or 'onCopy', and maybe even a
> 'onDeepCopy' as an additional function.
> 
> Example:
> 
>   class Foo
>   {
>       int x;
>       Bar b;
> 
>       this(int y) 
>       {
>            x = y;
>            b = new Bar(y);
>       }
> 
>       Foo onCopy()
>       {
>           Foo t;
>           t = new Foo(x);
>           return t;
>        }
>    }
> 
>    . . . 
> 
>    auto backup = q.onCopy();
> 
> And maybe one day (hoping against precedent) that Walter will actually see
> that an operator for copying stuff is not such a stupid idea.
> 
>    auto backup := q; // invokes q.onCopy() if it exists.
> 



More information about the Digitalmars-d mailing list