On 12/08/2011 09:50 PM, RenatoL wrote:
snippet 1)
auto arr1 = [1,2,3];
auto arr2 = arr1;
arr1[1] = 22;
arr2[2] = 33;
foreach (i; 0..arr1.length) write(arr1[i], " ");
writeln();
foreach (i; 0..arr2.length) write(arr2[i], " ");
output:
1 22 33
1 22 33
OK
snippet 2)
int[3] arr1 = [1,2,3];
int[3] arr2 = arr1;
arr1[1] = 22;
arr2[2] = 33;
foreach (i; 0..arr1.length) write(arr1[i], " ");
writeln();
foreach (i; 0..arr2.length) write(arr2[i], " ");
output:
1 22 3
1 2 33
that's unclear to me... i "agree" with the behaviour of the
dynamic array... but if we have a static array we have a deep copy?
Both copies are 'shallow', but static arrays are value types.