Mapping with partial
matovitch via Digitalmars-d-learn
digitalmars-d-learn at puremagic.com
Mon Mar 30 12:11:09 PDT 2015
On Monday, 30 March 2015 at 19:08:24 UTC, anonymous wrote:
> On Monday, 30 March 2015 at 18:37:53 UTC, matovitch wrote:
>> On Monday, 30 March 2015 at 18:34:19 UTC, Adam D. Ruppe wrote:
> [...]
>>> Aye, that would work too, but the slice I think is more
>>> efficient as I'm pretty sure... not completely sure, but I
>>> think .array makes a copy of static arrays, whereas the slice
>>> doesn't.
>>
>> I was going to ask you the question does it just add the range
>> shell or does it make a copy ? :/ Maybe someone else know.
>
> Let's check the documentation.
> http://dlang.org/phobos/std_array.html#array says: "Allocates
> an array and initializes it with copies of the elements of
> range r." Documentation says copy.
>
> Let's check the actual behaviour.
> ----
> void main()
> {
> int[1] a = [1];
> import std.array: array;
> a.array[0] = 2;
> import std.stdio: writeln;
> writeln(a[0]);
> }
> ----
> (also at <http://dpaste.dzfl.pl/1191144a9acf>)
> This program prints "1". That's the output we'd expect when
> `array` makes a copy. Actual behaviour says copy.
>
> So, copy.
That settle the point for array as for [] ? I guess the
documentation should have something to say about it too. ;)
More information about the Digitalmars-d-learn
mailing list