写时复制语义是否适用于动态记录数组?
如何正确复制记录数组?
这够了吗?:
type
recordA = Record
Y:integer;
end;
var x: array of recordA;
b: array of recordA;
item: recordA;
begin
SetLength(x, 2);
item.Y:= 2;
x[0] := item;
item.Y:= 5;
x[1] := item;
//Copying
b:= x;
复制完成后,我需要重置第一个数组:
SetLength(x, 0);
我可以这样做吗?