《Delphi Classic编译器和ARC编译器的内存管理》的代码示例Code examples from Delphi Memory Management for Classic and ARC Compilers Book
第1部分.内存管理基础知识和术语Part 1. Memory management basics and terminology
第3章.变量和类型Chapter 3. Variables and types
-
3.3.1通配参照3.3.1 Wild reference
Wild.dpr
WildWorking.dpr
-
3.3.2虚调用参照3.3.2 Dangling reference
Dangling.dpr
-
3.3.3过时的引用3.3.3 Stale reference
Stale.dpr
-
3.4范围和生命周期3.4 Scope and lifetime
Scope1.dpr
Scope2.dpr
Scope3.dpr
第4章.类Chapter 4. Classes
-
4.3.2 Self
uShip.pas
-
4.3.3 继承inherited
uQuestion.pas
扫描二维码关注公众号,回复: 12915804 查看本文章PrintTest.dpr
-
4.4.1 静态绑定Static binding
StaticBinding.dpr
-
4.4.4 方法覆盖(动态绑定)Method overriding (Dynamic binding)
DynamicHidding.dpr
DynamicOverriding.dpr
-
4.4.8 使用虚拟方法覆盖,隐藏或虚拟方法不执行操作之间的区别The differences between overriding, hiding, or doing nothing with a virtual method
Differences.dpr
-
4.4.9 方法重载Method overloading
Overloading1.dpr
Overloading2.dpr
-
4.4.10 类方法Class methods
Classy.dpr
第2部分. 对象实例Part 2. Object instances
Chapter 5. 是或不是To be, or not to be
-
5.1.4 Nil异常Nil exception
NilException.dpr
-
5.1.5 Nil如何测试How to test for nil
AssignedCheck.dpr
NilComparison.dpr
NilComparisonFunc.dpr
-
5.3.1 空对象的使用案例A use case for null object
NullObjectPattern.dpr
-
5.3.2 针对空对象的例子A case against null object
TreeNil.dpr
TreeNullObject.dpr
TreeNullObjectSingle.dpr
-
5.4 可为空类型Nullable types
Following nullable implementation is based on Allen Bauer’s blog post “A Nullable Post” https://blog.therealoracleatdelphi.com/2008/09/a-post_18.html
Nullable.pas
Weather.dpr
Chapter 6, 7, 8
…
第3部分. 手动内存管理Part 3. Manual memory management
…
第4部分. 自动引用计数Part 4. Automatic Reference Counting
…
第5部分. 编码模式Part 5. Coding patterns
-
17.6 智能指针Smart Pointers
Smart.dpr + uLifeMgr.pas + uSmartPrt.pas
-
17.7 惰性模式Lazy
LazyDeathStar.dpr
ReallyLazyDeathStar.dpr
-
17.8 弱模式Weak
WeakMagic.dpr + uZWeak.pas
SimplerWeakMagic.dpr + uZWeak.pas