关于实现字典数据结构的正确方法的一般问题
A general question regarding the correct way to implement a dictionary data structure
在任何字典数据结构中,都有一个接收数据的add_to_ds函数需要作为参数插入。问题是:add_to_ds应该自己获取对象(类型 T)并进行内存分配,还是add_to_ds应该获取指向对象的指针并插入指针(类型 T*,使用 DS 的人进行内存分配)。
正确的方法是什么,为什么?
没有任何一般正确/错误的方法可以做到这一点。如果您信任调用方不会修改内存,则可以存储指针。但是,如果您没有在界面中指定这一点,则必须复制内存。
- 如果您让他们输入指针,他们将负责释放内存,而不是触摸它等 如果你
- 不信任它们,你将不得不释放内存,你必须将副本返回到存储的项目(否则,如果你返回你的指针,他们可能会释放它/改变它)
相关文章:
- 最小硬币更换问题(自上而下方法)
- 使用同一类中的方法重新分配字段时出现问题
- 我想直接在结构中插入,但没有一种方法可以正确避免填充问题
- Protobuf中重复字段的问题.使用重复字段进行序列化/反序列化的更好方法是什么?
- 此动态编程问题的自上而下方法
- 此解决方案中生成更改的方法数量(自上而下)有什么问题?
- 使用模板方法为标头提供空 cpp 时出现问题
- 这种针对 N Queen 问题的回溯方法不正确吗?
- C++ push() 和 pop() 方法使用指针的动态 LinkedList 的问题
- 扩展中的日期时间对象方法C++问题
- 具有"else if"方法问题 C++ 的基本计算器
- 未实现的纯虚拟方法问题
- 抽象类和虚方法问题:"cannot allocate an object of abstract type"
- 方法问题 - 什么会改变值,什么不会改变?什么是无效的?
- jni原生方法问题
- GLUT回调方法问题
- string substr方法问题
- 抽象类和虚方法问题:不能将变量' list '声明为抽象类型' aStack
' aStack - c++模板专门化方法问题
- C++虚拟方法问题