我是C ++的新手,并试图想出一种在map或unordered_map中存储对象引用的好方法。
我已尝试过地图< Key&,Value&>和地图< reference_wrapper< Key>,reference_wrapper< Value>>然后我可以让它最终工作,但它看起来非常难看,而且我确定是错误的。
我知道我可以使用指针,但我不想分配内存,因为我必须在之后进行清理。
任何人都知道有一个良好而干净的方法来实现这个目标吗?
答案 0 :(得分:1)
如果你有参考,那么你有一个"""引用所指的。因此,您可以轻松地存储指向同一物品的指针"无需分配任何额外的内存。指针不要 动态分配。
话虽这么说,存储智能指针将是最简单和最干净的,除非你有真正的,可衡量的性能问题。我担心你的设计中不清楚对象的生命周期和悬空参考。