Share via


CPtrArray Class

Supports arrays of void pointers.

class CPtrArray : public CObject

Members

The member functions of CPtrArray are similar to the member functions of class CObArray. Because of this similarity, you can use the CObArray reference documentation for member function specifics. Wherever you see a CObject pointer as a function parameter or return value, substitute a pointer to void.

CObject* CObArray::GetAt( int <nIndex> ) const;

for example, translates to

void* CPtrArray::GetAt( int <nIndex> ) const;

Public Constructors

Name

Description

CObArray::CObArray

Constructs an empty array.

Public Methods

Name

Description

CObArray::Add

Adds an element to the end of the array; grows the array if necessary.

CObArray::Append

Appends another array to the array; grows the array if necessary.

CObArray::Copy

Copies another array to the array; grows the array if necessary.

CObArray::ElementAt

Returns a temporary reference to the element pointer within the array.

CObArray::FreeExtra

Frees all unused memory above the current upper bound.

CObArray::GetAt

Returns the value at a given index.

CObArray::GetCount

Gets the number of elements in this array.

CObArray::GetData

Allows access to elements in the array. Can be NULL.

CObArray::GetSize

Gets the number of elements in this array.

CObArray::GetUpperBound

Returns the largest valid index.

CObArray::InsertAt

Inserts an element (or all the elements in another array) at a specified index.

CObArray::IsEmpty

Determines if the array is empty.

CObArray::RemoveAll

Removes all the elements from this array.

CObArray::RemoveAt

Removes an element at a specific index.

CObArray::SetAt

Sets the value for a given index; array not allowed to grow.

CObArray::SetAtGrow

Sets the value for a given index; grows the array if necessary.

CObArray::SetSize

Sets the number of elements to be contained in this array.

Public Operators

Name

Description

CObArray::operator [ ]

Sets or gets the element at the specified index.

Remarks

CPtrArray incorporates the IMPLEMENT_DYNAMIC macro to support run-time type access and dumping to a CDumpContext object. If you need a dump of individual pointer array elements, you must set the depth of the dump context to 1 or greater.

Note

Before using an array, use SetSize to establish its size and allocate memory for it. If you do not use SetSize, adding elements to your array causes it to be frequently reallocated and copied. Frequent reallocation and copying are inefficient and can fragment memory.

Pointer arrays cannot be serialized.

When a pointer array is deleted, or when its elements are removed, only the pointers are removed, not the entities they reference.

For more information on using CPtrArray, see the article Collections.

Inheritance Hierarchy

CObject

CPtrArray

Requirements

Header: afxcoll.h

See Also

Reference

CObject Class

Hierarchy Chart

CObArray Class