首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VC/MFC >

获取CList某一节点的指针。该如何解决

2012-09-23 
获取CList某一节点的指针。今天在遍历CList链表的时候,我想当我访问某一节点的时候,为了便于下次查找,需要

获取CList某一节点的指针。
今天在遍历CList链表的时候,我想当我访问某一节点的时候,为了便于下次查找,需要将指向这个节点的指针保存下来。
CList的数据成员中pNodeHead和pNodeTail在外层都是不能访问的。
请问一下还有其他的做法?

[解决办法]
楼主 保存下 POSITION 不就行了 

CList.GetHeadPosition()
CList.GetTailPosition()

CList.GetAt(POSITION position)
CList.GetNext(POSITION & position)

这些接口 够你用了吧
[解决办法]
其实,POSITION就是指针

C/C++ code
template<class TYPE, class ARG_TYPE>AFX_INLINE TYPE CList<TYPE, ARG_TYPE>::GetNext(POSITION& rPosition) const // return *Position++    { CNode* pNode = (CNode*) rPosition;        ASSERT(AfxIsValidAddress(pNode, sizeof(CNode)));        rPosition = (POSITION) pNode->pNext;        return pNode->data; } 

热点排行