CPtrArray Class
The new home for Visual Studio documentation is Visual Studio 2017 Documentation on docs.microsoft.com.
The latest version of this topic can be found at CPtrArray Class.
Supports arrays of void pointers.
Syntax
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
CPtrArray
Requirements
Header: afxcoll.h