CObList::GetNext

获取列表元素标识由 rPosition,然后设置 rPosition 到下一项的 POSITION 值列表中的。

CObject*& GetNext(
   POSITION& rPosition 
);
const CObject* GetNext( 
   POSITION& rPosition  
) const;

参数

  • rPosition
    为 POSITION 值的引用由以前的 GetNextGetHeadPosition返回,或其他成员函数调用。

返回值

GetHead参见返回值声明。

备注

如果您建立与调用的初始位置。GetHeadPosition 或 Find,则在前向迭代周期中使用 GetNext

您必须确保 POSITION 值表示列表中的有效位置。如果是无效的,则选件Microsoft基础类库的调试版本断言。

如果已检索的元素是列表的最后,则 rPosition 的新值设置为 NULL。

在迭代中移除元素是可能的。为 RemoveAt参见示例。

说明说明

自MFC 8.0此方法的常量版本更改返回 const CObject* 而不是 const CObject*&。此更改使编译器输入与C++标准的一致性。

下表显示类似于 CObList::GetNext的其他成员函数。

成员函数

CPtrList

void*& GetNext( POSITION& rPosition );

const void* GetNext( POSITION& rPosition ) const;

CStringList

CString& GetNext( POSITION& rPosition );

const CString& GetNext( POSITION& rPosition ) const;

示例

用于列表 CAge 选件类参见 CObList::CObList

CObList list;
POSITION pos;
list.AddHead(new CAge(21));
list.AddHead(new CAge(40)); // List now contains (40, 21).
// Iterate through the list in head-to-tail order.
#ifdef _DEBUG
   for (pos = list.GetHeadPosition(); pos != NULL;)
   {
      afxDump << list.GetNext(pos) << _T("\n");
   }
#endif      

从此过程的结果如下:

a CAge at $479C 40

a CAge at $46C0 21

要求

Header: afxcoll.h

请参见

参考

CObList选件类

层次结构图

CObList::Find

CObList::GetHeadPosition

CObList::GetTailPosition

CObList::GetPrev

CObList::GetHead