我有班级A.班级A负责管理B对象的生命周期,它包含B对象的容器,它是map<BGuid,B>
,每个B对象都包含C对象的容器,它是map<CGuid,C>
。我有一个全局的A整个应用程序的对象。检索孩子
我有以下问题: 我有CGuid对象,我想用它来找到我的C对象。但为了这一点,我还需要知道BGuid对象,它会告诉我哪个B对象应该看起来像C对象。但我拥有的是CGuid,这意味着我必须检查每个B对象,看它是否包含我的C对象。不过我认为这很混乱。 我以为也许我应该有另一个类说M将包含所有我的C对象的地图,我可以直接在它与CGuid搜索,但这意味着我需要维护额外的地图只是为了搜索。
另外我除了在将来我的C类包含map<Dguid,D>
所以我会有同样的问题的D对象,这一次更糟糕,我需要Bguid,Cguid和Dguid来找到我的D对象。
如何解决这个问题?
只想说,我的GUID是实际指向的对象,即BGuid是B *等。我无法改变这一点。 – user152508 2010-10-28 14:49:05
如果没有指向它的指针,地球究竟是“找到”一个对象? – Puppy 2010-10-28 14:51:05
好吧,对。我写的不对。我有指向其他对象的指针,而不是对象本身。 – user152508 2010-10-28 14:59:56