讨论 结构体(Record)的用法

白耗子 2010-09-27 05:43:44
关于Record 大家都很熟悉~~
如果参数很多时 用Record 作为参数 无疑是正确的选择~~
而且赋值很方便~~ 不用逐个字段进行赋值~~

在当做 Dll 参数时更是方便~~ 尤其是跨语言的Dll 用 ^Record 相当和谐
Record 里支持函数(D7 似乎不支持,2010 我试了试可以的)

有人说OOP 中 类才是王道 但是我想 三四个参数你也用类 到处去实例 (Record 不用实例)

不过大家用的时候不知道有没有这种情况

一大型 Record MyRecA
MyRecA 中有些是 指针(指向一个结构体)
如果要把MyRecA 赋给 MyRecB
然后释放 MyRecA
问题是 MyRecA 中的那些指针 赋值时候 MyRecB要一个一个申请空间吗?
...全文
245 4 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
xiedewei 2010-09-27
  • 打赏
  • 举报
回复
如果已经释放的话当然要重新申请
白耗子 2010-09-27
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 xiedewei 的回复:]
指针只是保存某个内存地址。如果你让它指向原来的结构体就不需要再申请空间。
[/Quote]

如果 MyRecA 的空间是在Dll 中申请的 要把 MyRecA 整体的赋值到外面 如果只赋值 指针的话
我释放 MyRecA 的时候 也会一齐释放 MyRecA 中指针对应的空间
xiedewei 2010-09-27
  • 打赏
  • 举报
回复
指针只是保存某个内存地址。如果你让它指向原来的结构体就不需要再申请空间。
Harryfin 2010-09-27
  • 打赏
  • 举报
回复
RECORD做参数时,没有对象的继承。如果参数是抽象的“动物”,那么我可以把“马”传进去,表达起来很自然。RECORD做不到这点。所以有需要的话,就不要怕那麻烦去实例化了。

16,747

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 语言基础/算法/系统设计
社区管理员
  • 语言基础/算法/系统设计社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧