嗯,我不知道这是否可能,但事情是这样的:
struct stPiece
{
/* some stuff */
stPiece *mother; // pointer to the piece that created this one
};
vector<stPiece> pieces;
有没有可能仅凭'mother'这个指针作为参考,从pieces中删除相应的元素?如何操作?
这样做会不会影响其他引用?(例如,如果它不是向量中的最后一个元素,则通过将下一个元素移动到其他内存位置,而其他 '*mothers' 保持不变)。当然,我假设所有子元素都将被删除(因此我不需要更新任何指向相同母亲的指针)。
谢谢!