问一个关于CList的问题
我建了两个CList,
typedef struct commuNode
{
int srcPlyr;
int desPlyr;
};
CList<commuNode, commuNode&> commuListA;
CList<commuNode, commuNode&> commuListB;
下面我将一个commuNode加到两个表中
ptrCommuNode = new commuNode;
ptrCommuNode->srcPlyr = 1;
ptrCommuNode->desPlyr = 2;
commuListA.AddHead(*ptrCommuNode);
commuListB.AddHead(*ptrCommuNode);
我的问题是:
1\这样做是不是不可以?如果在commuListA中将这个结点删除了,是不是在commuListB中这个结点就对应一个无效结点?如果不可以,难道设计成一个按值的LIST么?比如 CList<commuNode, commuNode> commuListA;
2\就单个LIST来说,如果在这个CList中对这个结点进行Remove操作,CList会自动将这个结点delete掉,还是仅仅 从这个LIST中将这个项remove掉?