我试图弄清楚如何items
在我的程序中进行管理。我想要一个统一的inventory
系统,知道每个人在哪里item
。然后拥有container
实际保存库存的对象items
,并通过container
id 定位所有内容。
我的想法是items
在containers
inside中保存,然后在对象boost::ptr_vetors
内部的哈希表中保存一个指针(可能是同一个) ,现在根据X 到Y 只是从一个指针向量中删除,并将其传递给另一个容器,或者在一个或另一个中完成所有工作。inventory
inventory
container
container
container
我很难考虑的问题是什么时候把所有的东西都拿出来。我只真正处理过一次将指针/对象保存在一个地方而不是多个地方,而且我知道如果我尝试删除已经被删除的东西,它至少会导致崩溃。首先想到的是从 中删除所有引用containers
,并且仍然保留在 中inventory
,然后单步执行并删除inventory
. 这是可行的,还是我没有考虑这个权利,需要重新考虑?那么如果我只需要删除一个东西(保留其余部分)怎么办?
我担心在任何一种情况下都会取消对指针的验证。