[fpc-pascal] Arrays of objects
Joao Morais
post at joaomorais.com.br
Wed Oct 31 12:10:28 CET 2007
Adrian Maier wrote:
> On 10/31/07, Matt Emson <memsom at interalpha.co.uk> wrote:
>> Adrian Maier wrote:
>>> Hello,
>>>
>>> I'm seeking for advice about which is the best way to hold an array of
>>> class instances
>>> I need to access the elements using its position (like a regular
>>> array) , and also i'd like
>>> the structure to grow when I add more elements
>> TObjectList
>
> I am aware that TObjectList is one of the possible ways.
> But I was hoping to get a better understanding about the purpose of these
> various classes or types of array , and more importantly what are the
> drawbacks .
>
> Is there really no wiki page , tutorial, anything that provides an overview of
> the collections and types of arrays that FPC has ?
You can use dynamic arrays, they work like an ansi string:
var
VArray: array of TSomeClass;
begin
SetLength(VArray, 10);
// now you have VArray[0] .. VArray[9];
SetLength(VArray, 20);
// now you have [0] .. [19];
// Length(VArray) = 20
// for I := 0 to Pred(Length(VArray)) is a valid statement
They are reference counted, just like ansi strings, ie don't worry about
memory leakages.
--
Joao Morais
More information about the fpc-pascal
mailing list