在地图C ++中存储对象引用

时间:2018-05-17 11:28:30

标签: c++ reference hashmap

我是C ++的新手,并试图想出一种在map或unordered_map中存储对象引用的好方法。

我已尝试过地图< Key&,Value&>和地图< reference_wrapper< Key>,reference_wrapper< Value>>然后我可以让它最终工作,但它看起来非常难看,而且我确定是错误的。

我知道我可以使用指针,但我不想分配内存,因为我必须在之后进行清理。

任何人都知道有一个良好而干净的方法来实现这个目标吗?

1 个答案:

答案 0 :(得分:1)

如果你有参考,那么你有一个"""引用所指的。因此,您可以轻松地存储指向同一物品的指针"无需分配任何额外的内存。指针不要 动态分配。

话虽这么说,存储智能指针将是最简单和最干净的,除非你有真正的,可衡量的性能问题。我担心你的设计中不清楚对象的生命周期和悬空参考。