【发布时间】:2011-02-09 17:23:25
【问题描述】:
我正在进行一个项目,其中几个不同的对象在语义上链接在一起,我现在正在寻找一种让对象相互引用的好方法。通常我会在每个对象中放置指针并将它们链接在一起。在这种特殊情况下,没有堆对象(至少我在编写代码时没有创建任何对象,向量在内部所做的可能在另一页上)。我们想出了一个想法,即创建一个存储唯一 id 列表的类,并与需要它们知道的对象共享此 id。
这是好的做法吗?还有其他更好的方法吗?
背景:该项目具有学术背景。我们不确定学生或其他人对此有何贡献。技能水平也未知,但可能不是很高。通过不使用指针,我们至少可以确保对象不会被意外或愚蠢地删除。
编辑:
让我想到唯一 id 的原因是我们使用向量来存储数据。 STL 容器经常做的一件事是复制它们的容器。这就是为什么我不太确定指针是否能正常工作的原因。与向量元素的简单索引相同,内容和/或其顺序可能会发生变化。
【问题讨论】:
-
“我们至少可以确保对象不会被意外或愚蠢地删除”永远不要低估愚蠢的力量。