3
我想创建TMyClass
对象的二维数组,考虑到每个对象包含TMyClass
引用数组,即处置对象数组中的Free Pascal
type
TMyClass = class
MyArray: array[0..10] of TMyClass;
constructor Create;
destructor Destroy;
end;
TMyMatrix = array of array of TMyClass;
var
matrix: TMyMatrix;
begin
SetLength(matrix, 10, 10);
(...) { matrix[i, j].Create; ? }
1)将在处理TMyClass
对象时,自动处理引用数组()(不影响实际对象),还是应该手动处理?
2)如何配置物体的动态数组(matrix
)?免费的帕斯卡维基说,将nil
分配给动态数组可以释放指针指向的内存,但我认为它不会调用任何析构函数。
请注意,您可以通过使用适当的容器来获得内存管理效果,例如,当'FreeObjects'构造函数参数为true时'TFPGObjectList'。 – lukstafi 2012-04-20 15:05:33