CObList::SetAt
Sets the element at a given position.
void SetAt(
POSITION pos,
CObject* newElement
);
Parameters
pos
The POSITION of the element to be set.newElement
The CObject pointer to be written to the list.
Remarks
A variable of type POSITION is a key for the list. It is not the same as an index, and you cannot operate on a POSITION value yourself. SetAt writes the CObject pointer to the specified position in the list.
You must ensure that your POSITION value represents a valid position in the list. If it is invalid, then the Debug version of the Microsoft Foundation Class Library asserts.
The following table shows other member functions that are similar to CObList::SetAt.
Class |
Member Function |
---|---|
void SetAt( POSITION pos, const CString& newElement ); |
|
void SetAt( POSITION pos, LPCTSTR newElement ); |
Example
See CObList::CObList for a listing of the CAge class.
CObList list;
CObject* pa;
POSITION pos;
list.AddHead(new CAge(21));
list.AddHead(new CAge(40)); // List now contains (40, 21).
if ((pos = list.GetTailPosition()) != NULL)
{
pa = list.GetAt(pos); // Save the old pointer for
//deletion.
list.SetAt(pos, new CAge(65)); // Replace the tail
//element.
delete pa; // Deletion avoids memory leak.
}
#ifdef _DEBUG
afxDump.SetDepth(1);
afxDump << _T("SetAt example: ") << &list << _T("\n");
#endif
The results from this program are as follows:
SetAt example: A CObList with 2 elements
a CAge at $4D98 40
a CAge at $4DB8 65
Requirements
Header: afxcoll.h