以下是一个示例,演示如何使用 GetAt 的等价物来获取链表中指定位置的元素:
// 假设有一个 CTypedPtrList<CObList, CMyObject*> 的链表
CTypedPtrList<CObList, CMyObject*> myObjectList;
// ... 在链表中添加元素 ...
// 获取链表中指定位置的元素
POSITION pos = myObjectList.GetHeadPosition();
int indexToRetrieve = 2; // 以0为基础的索引
for (int i = 0; i < indexToRetrieve && pos != nullptr; ++i) {
myObjectList.GetNext(pos);
}
if (pos != nullptr) {
CMyObject* pElement = myObjectList.GetAt(pos);
// 在这里使用 pElement,例如输出其属性值或进行其他操作
}
在这个示例中,通过循环和 GetNext 方法移动到链表中指定位置的元素,然后使用 GetAt 方法获取该位置上的元素。请注意,GetAt 方法的参数是一个 POSITION 对象,这表示元素的位置。
这种方式可以确保您访问链表中指定位置的元素,但需要小心处理边界情况,如索引超出链表范围的情况。
转载请注明出处:http://www.zyzy.cn/article/detail/22965/MFC/CTypedPtrList