Behaviour of append (~=)
Derek Parnell
derek at psych.ward
Tue May 30 04:47:22 PDT 2006
On Tue, 30 May 2006 21:37:02 +1000, Lionello Lunesu
<lio at lunesu.remove.com> wrote:
> Why does the appending to a 'null' array cause the contents to be copied?
>
> int[] ar1; // some array, not constant
>
> int[] ar2 = null;
> ar2 ~= ar1;
> // ar2 !is ar1
>
> But it could be like this:
> if (ar2)
> ar2 ~= ar1;
> else
> ar2 = ar1;
>
> Wouldn't it be a good optimization for ~= to check for null first, to
> prevent the copy?
Not so sure, because for consistency sake its good to know that 'append'
will always do a copy. Then we can rely on this to happen.
--
Derek Parnell
Melbourne, Australia
More information about the Digitalmars-d-learn
mailing list