There are “list” classes for CString objects, CObject pointers, and void pointers. A list is an ordered grouping of elements. New elements can be added at the head or tail of the list, or before or after a specified element. The list can be traversed in forward or reverse sequence, and elements may be removed during the traversal. Elements can be found by zero-based index or by value, but the find operation requires a sequential scan of the list.