If your goal is iterating and getting all CMob's from the ZList than you can simply call ZList::GetNext in a loop from the m_pHead until it returns NULL. Then you know you are at the end of ZList. You are essentially iterating a linked list. You can avoid reversing the entire structure also...