Dis*_*ned 19
记录和类之间有很多差异; 没有"指针记录" <> "类".每个人都有自己的优点和缺点; 软件开发的一个重要事项是了解这些,以便您可以更轻松地选择最适合特定情况的软件.
Mas*_*ler 10
对于1和2:记录是值类型,而类是引用类型.它们被分配在堆栈上,或直接分配在包含它们的任何较大变量的内存空间中,而不是通过指针,并在编译器超出范围时自动清理.
至于你的第三个问题,TList<TMyRecord>内部声明了一个array of TMyRecord存储空间.销毁列表时,将清除其中的所有记录.如果要删除特定的一个,请使用Delete方法按索引删除,或使用Remove查找和删除方法.但要注意,因为它是一个值类型,所以你所做的一切都是制作记录的副本,而不是复制对它的引用.
记录的一个主要好处是,当你有一个大的"记录阵列".这是通过为一个连续的RAM空间中的所有记录分配空间而在内存中创建的,这非常快.如果你使用了"TClass数组",那么数组中的每个对象都必须自己分配,这很慢.
为了提高字符串和对象的速度,已经做了很多工作来提高分配内存的速度,但它永远不会像用1个内存分配替换100,000个内存分配一样快.
但是,如果使用记录数组,请不要在局部变量中复制记录.这可能很容易扼杀速度效益.
| 归档时间: |
|
| 查看次数: |
6192 次 |
| 最近记录: |