This documentation is archived and is not being maintained.


Sets the array element at the specified index.

void SetAt(
   INT_PTR nIndex,
   CObject* newElement 


An integer index that is greater than or equal to 0 and less than or equal to the value returned by GetUpperBound.
The object pointer to be inserted in this array. A NULL value is allowed.


SetAt will not cause the array to grow. Use SetAtGrow if you want the array to grow automatically.

You must ensure that your index value represents a valid position in the array. If it is out of bounds, then the Debug version of the library asserts.

The following table shows other member functions that are similar to CObArray::SetAt.

Class Member Function
CByteArray void SetAt( INT_PTR nIndex, BYTE newElement );
CDWordArray void SetAt( INT_PTR nIndex, DWORD newElement );
CPtrArray void SetAt( INT_PTR nIndex, void* newElement );
CStringArray void SetAt( INT_PTR nIndex, LPCTSTR newElement );
CUIntArray void SetAt( INT_PTR nIndex, UINT newElement );
CWordArray void SetAt( INT_PTR nIndex, WORD newElement );


See CObList::CObList for a listing of the CAge class used in all collection examples.

// example for CObArray::SetAt

   CObArray array;
   CObject* pa;

   array.Add( new CAge( 21 ) ); // Element 0
   array.Add( new CAge( 40 ) ); // Element 1
   if( ( pa = array.GetAt( 0 ) ) != NULL )
       array.SetAt( 0, new CAge( 30 ) );  // Replace element 0.
       delete pa; // Delete the original element at 0.
#ifdef _DEBUG
   afxDump.SetDepth( 1 );
   afxDump << "SetAt example: " << &array << "\n";

The results from this program are as follows:

SetAt example: A CObArray with 2 elements
    [0] = a CAge at $47E0 30
    [1] = a CAge at $47A0 40

See Also

CObArray Overview | Class Members | Hierarchy Chart | CObArray::GetAt | CObArray::SetAtGrow | CObArray::ElementAt | CObArray::operator []