On 09/02/14 18:47, Sven Barth wrote:
On 09.02.2014 16:34, Flávio Etrusco wrote:
In other words: dynamic arrays are like AnsiStrings without the
copy-on-write semantics. I'd certainly wish Borland copied the COW
semantics :-/
Dynamic arrays have full COW semantics.
It seems not:
SetLength(A,10);
A[0]:=33;
B:=A;
A[0]:=31;
b[0]:=9;
WriteLn(a[0], b[0]); // prints 9 and 9 (fpc 2.6.3)
If Jürgen would have provided a full compilable example we could check
whether he has a bug in his own code or there is a bug in the compiler
as certainly the result of his first code snipped must be length 10
for array "A" and length 20 for array "B". His second example is as
expected and as designed.
True on both counts.
Regards,
Stephano
_______________________________________________
fpc-pascal maillist - fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal