On Saturday, 2 May 2015 at 11:16:30 UTC, Meta wrote:
Probably the latter is slower than the former, at the very
least because the latter requires memory allocation whereas the
former does not.
Ahh!,
auto x = [11, 3, 2, 4, 5, 1];
auto y = [0, 3, 10, 2, 4, 5, 1];
auto z = x.chain(y).sort; // sort them in place
assert(x == [0, 1, 1, 2, 2, 3]);
assert(y == [3, 4, 4, 5, 5, 10, 11]);
is very cool, provided that y is allowed to mutate. Now I
understand why chain is useful.
A reallocation will however be needed in the final assignment
though. But no temporary!