- How
to use dynamic arrays
This document describes how to create templated arrays; that is,
an array of a particular type of object.
- How
to append and insert elements
Elements can be added into an array or added to the end by specifying
the insertion position.
- How
to remove elements
It is possible to remove one or several contiguous elements from
any array. Deleting elements from an array may not automatically free up memory.
- How
to expand the array
An array can be expanded by using the ExpandL() function.
- How
to reserve space in a fixed flat array
To be sure that there is sufficient space available to add new
elements to a fixed flat array, you can use the SetReserveL()
function
to pre-allocate memory.
- How
to resize an array
For fixed flat and fixed segmented arrays, it is possible to resize
the array. If the array is shortened, then the trailing elements are deleted.
If the array is extended, then new blank elements are created using the default
constructor.
- How
to find elements
There are two methods for searching for data in an array. Sequentially
and binary chop.
- How
to access elements
The elements of an array can be accessed by specifying the position
of the element in the array.
- How
to destroy the array
Simple arrays can be simply deleted. Certain arrays of pointers
may require calling a member function to delete the objects pointed to.
- How
to create a generic array
Arrays can be created using a templated class. This allows a degree
of polymorphism to be used without needing to know the data type in the array.
- Pointers
to the start and end of contiguous regions
The Back()
and End()
functions
point to locations in memory for flat and segmented arrays.
- Using
CArrayFixFlat<TAny>
The CArrayFixFlat<Tany>
class is useful for
constructing an array of fixed length buffers, where the length is decided
at run time.
- Using
CArrayFixSeg<TAny>
The CArrayFixSeg<TAny>
is useful for constructing
an array of fixed length buffers, where the length is decided at run time.
- Using
CArrayPak<TAny>
The class is useful for constructing an array of variable length
buffers, where the length is decided at run time.
- Using
CArrayVar<TAny>
The CArrayVar<TAny>
class is useful for constructing
an array of variable length buffers, where the length is decided at run time.
- Using
RArray<class T>
This document covers the important issues involved in using an
RArray.
- Using
RPointerArray<class T>
This document covers the issues involved in using a RPointerArray.
- Using
TArray<class T>
This document covers important issues in using TArray