在任何字典数据结构中都有一个add_to_ds函数,它接收作为参数插入所需的数据 。 问题是这样的:add_to_ds是否应该让对象自己(类型T)并执行内存分配,或者add_to_ds是否应该获得指向对象的指针,然后插入指针(类型T *,使用DS的内存分配)。关于实现字典数据结构的正确方法的一般问题
做什么是正确的做法,为什么?
在任何字典数据结构中都有一个add_to_ds函数,它接收作为参数插入所需的数据 。 问题是这样的:add_to_ds是否应该让对象自己(类型T)并执行内存分配,或者add_to_ds是否应该获得指向对象的指针,然后插入指针(类型T *,使用DS的内存分配)。关于实现字典数据结构的正确方法的一般问题
做什么是正确的做法,为什么?
没有任何一般的正确/错误的方法来做到这一点。如果你信任调用者不修改内存,那么你可以很好地存储一个指针。如果,但是你没有在你的界面中指定,你将不得不复制内存。
请详细说明。什么语言?目前的实现是什么样的? – Oded 2011-05-13 20:03:14
@Oded我不知道它是否真的很重要,但我正在使用C/C++, ,我指的是链接列表,二叉树,跳过列表等数据结构' – Belgi 2011-05-13 20:05:54
嗯,它很重要,因为你是谈论指针。你知道,并非所有的语言都支持它们。 – Oded 2011-05-13 20:06:50