Object Pascal 编程中的对象、内存管理与封装
1. 内存管理基础
在 Object Pascal 中,对象的创建和释放是常见操作。以下是一个标准的对象创建和释放示例:
var
ADay: TDate;
begin
// create
ADay := TDate.Create;
// use
...
// free the memory
ADay.Free;
end;
不过,组件库引入了对象所有权等概念,大大减轻了手动内存管理的负担。对于移动平台的 Object Pascal 编译器,还引入了自动引用计数(ARC)机制。ARC 使用引用计数和其他高级技术,自动处理不再需要的对象(即没有引用指向它们的对象)。在支持 ARC 的平台上,调用 Free 方法通常是多余的,因为当代码执行到 end 语句时, ADay 变量超出作用域,引用的对象会自动删除。即便保留 Free 语句,也不会有任何问题,桌面和移动编译器都能正常工作。
2. 关于 nil 的使用
变量可以引用某个类的对象,但它可能尚未初始化,或者之前引用的对象可能已不可用。这时可以使用 nil ,它是一个常量值,表示变量未分配给任何对象(或分配给了内存地址 0)。当类类型的变量没有值时,可以这样初始化:
ADay := n
超级会员免费看
订阅专栏 解锁全文

5

被折叠的 条评论
为什么被折叠?



