关于实现字典数据结构的正确方法的一般问题

A general question regarding the correct way to implement a dictionary data structure

本文关键字:方法 问题 数据结构 于实现 实现 字典      更新时间:2023-10-16

在任何字典数据结构中,都有一个接收数据的add_to_ds函数需要作为参数插入。问题是:add_to_ds应该自己获取对象(类型 T)并进行内存分配,还是add_to_ds应该获取指向对象的指针并插入指针(类型 T*,使用 DS 的人进行内存分配)。

正确的方法是什么,为什么?

没有任何一般正确/错误的方法可以做到这一点。如果您信任调用方不会修改内存,则可以存储指针。但是,如果您没有在界面中指定这一点,则必须复制内存。

  • 如果您让他们输入指针,他们将负责释放内存,而不是触摸它等
  • 如果你
  • 信任它们,你将不得不释放内存,你必须将副本返回到存储的项目(否则,如果你返回你的指针,他们可能会释放它/改变它)