Array Copying syntax
Antonio Corbi via Digitalmars-d-learn
digitalmars-d-learn at puremagic.com
Fri Sep 16 10:22:41 PDT 2016
On Friday, 16 September 2016 at 17:11:54 UTC, Adam D. Ruppe wrote:
> On Friday, 16 September 2016 at 17:03:20 UTC, Antonio Corbi
> wrote:
>> Is it safe to use or do I have to use the proposed 's[] = t;'
>> or 's[] = t[]' ?
>
> That works for all arrays. `s = t` for dynamically sized arrays
> (aka slices) just sets the references to the same, but for your
> statically sized arrays, it also copies.
Thank's Adam!
That's what my toy program told me:
---------------8><------------------
import std.stdio;
alias matrix = uint[3][2];
int main(string[] args) {
matrix s;
matrix t = [[1,2,3],
[4,5,6]];
writeln ("s= ", s);
writeln ("s.ptr= " , s.ptr);
writeln ("t= ", t);
writeln ("t.ptr= " , t.ptr);
writeln ("t[1][2]= ", t[1][2]);
s = t;
writeln ("s= ", s);
writeln ("s.ptr= " , s.ptr);
return 0;
}
---------------8><------------------
...but I wanted to be sure! :)
Shouldn't it be mentioned then in the docs that this works for
statically sized arrays and that in that case it copies contents?
More information about the Digitalmars-d-learn
mailing list