以下是一个简单的示例;type
TR = record
Num: Integer;
end;
TL2 = TList<TR>; TL1 = TList<TL2>;
procedure Init();
var
L1 : TL1;
L2 : TL2;
R : TR;
i : Integer;
begin
L1 := TL1.Create;
for i := 0 to 10 do
begin
R.Num := i;
L2 := TL2.Create;
L2.Add(R);
L1.Add(L2);
end;
end;L2这个变量,不能在L1.Add后释放,这样L2反复的Create让我很不安,求教这样写是否正确?
TR = record
Num: Integer;
end;
TL2 = TList<TR>; TL1 = TList<TL2>;
procedure Init();
var
L1 : TL1;
L2 : TL2;
R : TR;
i : Integer;
begin
L1 := TL1.Create;
for i := 0 to 10 do
begin
R.Num := i;
L2 := TL2.Create;
L2.Add(R);
L1.Add(L2);
end;
end;L2这个变量,不能在L1.Add后释放,这样L2反复的Create让我很不安,求教这样写是否正确?
这个和LIST添加指针类似,L1释放时,先循环释放L2