对于我的比赛,我已经建立了一个小型的框架,除其他外有:的“this”指针和容器
- 实体是自己的组件。
- 系统持有指向实体的指针。
- 拥有系统的引擎。
- 拥有实体的EntityManager。
每次我添加一个组件时,实体都会通过它所持有的引擎指针将它的“this”指针传递给系统,并决定是否注册或忽略它。
现在,由于实体是EntityManager容器的元素,我是否正确地假设如果对它的插入操作导致移位或重新分配,系统将不再保存有效的指针?
如果是这样,什么是可以用来防止这种情况发生的好容器?如果我理解正确,这与迭代器发生的情况类似,并且在插入时要求非失效时应用相同的规则。
如果你把它们放在一个向量中并使用迭代器来存储引用,那么是的。如果你有一个指针nope向量。 –