CObList::GetNext
获取列表元素标识由 rPosition,然后设置 rPosition 到下一项的 POSITION 值列表中的。
CObject*& GetNext(
POSITION& rPosition
);
const CObject* GetNext(
POSITION& rPosition
) const;
参数
- rPosition
为 POSITION 值的引用由以前的 GetNext,GetHeadPosition返回,或其他成员函数调用。
返回值
为 GetHead参见返回值声明。
备注
如果您建立与调用的初始位置。GetHeadPosition 或 Find,则在前向迭代周期中使用 GetNext。
您必须确保 POSITION 值表示列表中的有效位置。如果是无效的,则选件Microsoft基础类库的调试版本断言。
如果已检索的元素是列表的最后,则 rPosition 的新值设置为 NULL。
在迭代中移除元素是可能的。为 RemoveAt参见示例。
说明 |
---|
自MFC 8.0此方法的常量版本更改返回 const CObject* 而不是 const CObject*&。此更改使编译器输入与C++标准的一致性。 |
下表显示类似于 CObList::GetNext的其他成员函数。
类 |
成员函数 |
---|---|
void*& GetNext( POSITION& rPosition ); const void* GetNext( POSITION& rPosition ) const; |
|
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