Main Page   Modules   Class Hierarchy   Compound List   File List   Compound Members   File Members   Related Pages  

CDynamicArray Class Template Reference

Dynamisches eindimensionales Array. More...

#include <CDynamicArray.h>

List of all members.

Public Methods

Protected Attributes


Detailed Description

template<class T> class CDynamicArray

Das Klassentemplate CDynamicArray implementiert ein dynamisches Array, welches Elemente vom Datentyp T speichert. Da der Speicher dynamisch alloziiert wird, kann die größe des Arrays zur Laufzeit geändert werden.

Note:
Die Klasse eignet sich nicht zur Aufbewahrung von Referenzen oder dynamisch alloziierten Daten, da bei einer Größenänderung des Arrays, insbesondere einer Verkleinerung, der Speicher für die überschüssigen Elemente nicht freigegeben wird.


Constructor & Destructor Documentation

template<class T>
CDynamicArray< T >::CDynamicArray<T> ( )
 

Der Standardkonstruktor erzeugt ein leeres Array mit Null Elementen.

template<class T>
CDynamicArray< T >::CDynamicArray<T> ( int size )
 

Der Zusatzkonstruktor erzeugt ein Array mit size Elementen. Der Speicherbereich für die Arraydaten wird dabei mit Nullen überschrieben.

template<class T>
CDynamicArray< T >::CDynamicArray<T> ( const CDynamicArray< T > & array )
 

Der Kopierkonstruktor erzeugt ein Array auf der Basis eines anderen CDynamicArray - Objekts.

Remarks:
Die Daten werden nicht Elementweise kopiert. Stattdessen wird einfach der Inhalt des Speicherbereichs des Quellarrays mittels memmove() in den Speicherbereich des Zielarrays kopiert. Falls die Arrayelemente Referenzen beinhalten, oder selbst Referenzen sind, so zeigen diese anschließend Sowohl im Quellarray, als auch im Zielarray auf dieselben Daten.

template<class T>
CDynamicArray< T >::~CDynamicArray<T> ( )
 

Der Destruktor gibt den für die Arrayelemente reservierten Speicher wieder frei.


Member Function Documentation

template<class T>
bool CDynamicArray< T >::isNull ( ) [inline]
 

Die Funktion gibt <true> zurück, falls das Array eine Größe von Null Elementen aufweist, sonst <false>.

template<class T>
void CDynamicArray< T >::resize ( int newSize )
 

Die Funktion ändert die Größe des Arrays. Beim Vergrößern des Arrays bleibt sein Inhalt vollständig erhalten, der Inhalt der neuen Elemente ist undefiniert. Beim Verkleinern des Arrays bleiben nur die Elemente mit einem Index <newSize erhalten.

Note:
Sollte es sich bei den Elementen um Referenzen handeln, so wird der Speicher auf den sie zeigen von der Routine nicht freigegeben!

template<class T>
T & CDynamicArray< T >::get ( int index ) [inline]
 

Note:
Es findet eine Bereichsüberprüfung statt! Liegt der Index ausserhalb des gültigen Bereichts, so wird eine Exception des Typs out_of_range() ausgelöst.

template<class T>
void CDynamicArray< T >::set ( int index,
const T & data ) [inline]
 

Note:
Es findet eine Bereichsüberprüfung statt! Liegt der Index ausserhalb des gültigen Bereichts, so wird eine Exception des Typs out_of_range() ausgelöst.

template<class T>
T & CDynamicArray<T>::operator[] ( int index ) [inline]
 

Der Operator gibt eine Referenz auf das Element mit dem Index index zurück. Der indizierte Zugriff kann also sowohl schreibend, als auch lesend verwendet werden.

Note:
Für einen schnelleren Zugriff wurde auf eine Bereichsüberprüfung verzichtet!


The documentation for this class was generated from the following file:
Generated at Fri Apr 19 16:53:06 2002 for GLFramework by doxygen1.2.6 written by Dimitri van Heesch, © 1997-2001