Delphi 中的引用计数变量是什么?

问题描述 投票:0回答:1

我知道什么是普通的全局变量和局部变量,但是什么是“局部引用计数”变量和“局部非引用计数”变量?

这是什么?有什么不同?它们是如何工作的?

有人可以展示代码示例并解释一下吗?

delphi global-variables freepascal local-variables delphi-12-athens
1个回答
0
投票

引用计数对象维护一个内部计数器,记录运行时有多少变量引用它。具有引用计数的 Delphi 本机类型包括字符串类型

AnsiString
UnicodeString
,以及
interface
和动态数组。

此类类型由 Delphi 编译器管理。多个变量可以引用内存中的同一个对象。当引用计数类型的变量引用现有对象时,该对象的计数器会增加 1。当该变量不再引用该对象时,因为它被重新分配或超出范围,该对象的计数器会减少 1

1:除非变量是

const
,否则就不是。

当对象的计数器降至零时,意味着不再有变量引用它,编译器会从内存中释放该对象。

© www.soinside.com 2019 - 2024. All rights reserved.