delphi - Delphi中全局变量和类变量的使用

标签 delphi

我有一个关于使用全局变量和使用 class var 的类变量的问题。

使用class var在类中声明变量:

unit Unit1;

interface

type
  TClass = class
  public
    class var ObjectList: TObjectList
  end;

implementation
end.

声明全局变量:

unit Unit1;

interface

var
  ObjectList: TObjectList

implementation
end.

编译器如何为这两个变量分配内存?

最佳答案

这些变量的实现方式完全相同。 class var 被实现为全局变量。也就是说,模块中有一个静态分配的变量实例。

唯一的区别是 class var 位于不同的范围内,您可以使用 private 等可见性保护说明符来限制对变量的访问。

关于delphi - Delphi中全局变量和类变量的使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21986202/

相关文章:

python - 什么可以在我背后改变我的浮点控制字?

multithreading - 如何让线程在被释放之前完成其工作?

python - 如何调用从 Python 获取并返回自定义类型指针的 delphi 函数?

delphi - 方法指针和常规过程不兼容

delphi - 如果未设置属性,则生成编译器错误

delphi - 如何绘制消息序列图?

multithreading - TThread.Execute没有按预期方式被调用

delphi - 在 Delphi 中 Hook DLL 函数

delphi - 为什么使用real进行计算与使用int进行计算会得出不同的结果?

delphi - "Abnormal program termination"D2007 IDE 中的错误 : is there any workaround?