2

目标是使用 TList 的实例将边列表添加到图形中。TList 是 FreePascal 中的标准列表类,具有迭代器接口和其他生物舒适性。

这是我在 FreePascal 代码中的想法:

PROGRAM PassPointerToClass;
TYPE
  class C
  // ...
  public
    F : TList;
  end; // end of class definition

VAR
  P : TList;
  i : integer;

BEGIN
  O := C.Create;
  i := 2;
  P := TList.Create;
  P.Add(@i);
  O.F := P;
  P := Nil;
END.

  1. F=无
  2. F^[0]=2,或
  3. 别的东西?
4

1 回答 1

2

P 是指向堆分配类的指针。OF 被赋予与 P 相同的值。

将 P 设置为 nil 不会影响分配的堆对象。

OF 仍然指向这个对象并且 F[0]^ 是 2。

于 2013-10-10T09:16:27.940 回答