Freigeben über


CSimpleArray-Klasse

Diese Klasse stellt Methoden zum Verwalten eines einfachen Arrays bereit.

Syntax

template <class T, class TEqual = CSimpleArrayEqualHelper<T>>
class CSimpleArray

Parameter

T
Der Datentyp, der im Array gespeichert werden soll.

TEqual
Ein Trait-Objekt, das den Gleichheitstest für Elemente vom Typ T definiert.

Member

Öffentliche Konstruktoren

Name Beschreibung
CSimpleArray::CSimpleArray Der Konstruktor für das einfache Array.
CSimpleArray::~CSimpleArray Der Destruktor für das einfache Array.

Öffentliche Methoden

Name Beschreibung
CSimpleArray::Add Fügt dem Array ein neues Element hinzu.
CSimpleArray::Find Sucht ein Element im Array.
CSimpleArray::GetData Gibt einen Zeiger auf die daten zurück, die im Array gespeichert sind.
CSimpleArray::GetSize Gibt die Anzahl der im Array gespeicherten Elemente zurück.
CSimpleArray::Remove Entfernt ein bestimmtes Element aus dem Array.
CSimpleArray::RemoveAll Entfernt alle Elemente aus dem Array.
CSimpleArray::RemoveAt Entfernt das angegebene Element aus dem Array.
CSimpleArray::SetAtIndex Legt das angegebene Element im Array fest.

Öffentliche Operatoren

Name Beschreibung
CSimpleArray::operator[] Ruft ein Element aus dem Array ab.
CSimpleArray::operator = Zuweisungsoperator.

Hinweise

CSimpleArray stellt Methoden zum Erstellen und Verwalten eines einfachen Arrays eines bestimmten Typs bereit T.

Der Parameter TEqual stellt ein Mittel zum Definieren einer Gleichheitsfunktion für zwei Elemente des Typs Tbereit. Durch das Erstellen einer Klasse, die CSimpleArrayEqualHelper ähnelt, ist es möglich, das Verhalten des Gleichheitstests für jedes angegebene Array zu ändern. Wenn Sie beispielsweise mit einem Array von Zeigern umgehen, kann es nützlich sein, die Gleichheit abhängig von den Werten zu definieren, auf die die Zeiger verweisen. Die Standardimplementierung verwendet operator=().

Sowohl als auch CSimpleArray CSimpleMap sind für eine kleine Anzahl von Elementen konzipiert. CAtlArray und CAtlMap sollten verwendet werden, wenn das Array eine große Anzahl von Elementen enthält.

Anforderungen

Kopfzeile: atlsimpcoll.h

Beispiel

// Create an array of integers
CSimpleArray<int> iArray;

// Create an array of char pointers
// and use a new equality function
CSimpleArray<char *, MyEqualityEqualHelper<char *> > cMyArray;   

CSimpleArray::Add

Fügt dem Array ein neues Element hinzu.

BOOL Add(const T& t);

Parameter

t
Das Element, das dem Array hinzugefügt werden soll.

Rückgabewert

Gibt TRUE zurück, wenn das Element erfolgreich dem Array hinzugefügt wird, andernfalls FALSE.

Beispiel

// Create an array of integers and add some elements
CSimpleArray<int> iMyArray;
for (int i = 0; i < 10; i++)
   iMyArray.Add(i);  

CSimpleArray::CSimpleArray

Der Konstruktor für das Arrayobjekt.

CSimpleArray(const CSimpleArray<T, TEqual>& src);
CSimpleArray();

Parameter

src
Ein vorhandenes CSimpleArray-Objekt.

Hinweise

Initialisiert die Datenmember, das Erstellen eines neuen leeren CSimpleArray Objekts oder eine Kopie eines vorhandenen CSimpleArray Objekts.

CSimpleArray::~CSimpleArray

Der Destruktor.

~CSimpleArray();

Hinweise

Gibt alle zugeordneten Ressourcen frei.

CSimpleArray::Find

Sucht ein Element im Array.

int Find(const T& t) const;

Parameter

t
Das Element, nach dem gesucht werden soll.

Rückgabewert

Gibt den Index des gefundenen Elements oder -1 zurück, wenn das Element nicht gefunden wird.

Beispiel

// Create an array of floats and search for a particular element

CSimpleArray<float> fMyArray;

for (int i = 0; i < 10; i++)
   fMyArray.Add((float)i * 100);

int e = fMyArray.Find(200);
if (e == -1)
   _tprintf_s(_T("Could not find element\n"));
else
   _tprintf_s(_T("Found the element at location %d\n"), e);   

CSimpleArray::GetData

Gibt einen Zeiger auf die daten zurück, die im Array gespeichert sind.

T* GetData() const;

Rückgabewert

Gibt einen Zeiger auf die Daten im Array zurück.

CSimpleArray::GetSize

Gibt die Anzahl der im Array gespeicherten Elemente zurück.

int GetSize() const;

Rückgabewert

Gibt die Anzahl der im Array gespeicherten Elemente zurück.

CSimpleArray::operator []

Ruft ein Element aus dem Array ab.

T& operator[](int nindex);

Parameter

nIndex
Der Elementindex.

Rückgabewert

Gibt das Element des Arrays zurück, auf das von nIndex verwiesen wird.

Beispiel

// Create an array and display its contents
 CSimpleArray<int> iMySampleArray;

 for (int i = 0; i < 10; i++)
    iMySampleArray.Add(i);

 for (int i = 0; i < iMySampleArray.GetSize(); i++)
    _tprintf_s(_T("Array index %d contains %d\n"), i, iMySampleArray[i]);

CSimpleArray::operator =

Zuweisungsoperator.

CSimpleArray<T, TEqual>
& operator=(
    const CSimpleArray<T, TEqual>& src);

Parameter

src
Das Array, das kopiert werden soll.

Rückgabewert

Gibt einen Zeiger auf das aktualisierte CSimpleArray Objekt zurück.

Hinweise

Kopiert alle Elemente aus dem Objekt, auf das CSimpleArray von src verwiesen wird, in das aktuelle Arrayobjekt, wobei alle vorhandenen Daten ersetzt werden.

Beispiel

// Create an array of chars and copy it to a second array
CSimpleArray<char> cMyArray1;
cMyArray1.Add('a');
CSimpleArray<char> cMyArray2;
cMyArray2 = cMyArray1;
ATLASSERT(cMyArray2[0] == 'a');   

CSimpleArray::Remove

Entfernt ein bestimmtes Element aus dem Array.

BOOL Remove(const T& t);

Parameter

t
Das Element, das aus dem Array entfernt werden soll.

Rückgabewert

Gibt TRUE zurück, wenn das Element gefunden und entfernt wird, andernfalls FALSE.

Hinweise

Wenn ein Element entfernt wird, werden die verbleibenden Elemente im Array neu nummeriert, um den leeren Raum auszufüllen.

CSimpleArray::RemoveAll

Entfernt alle Elemente aus dem Array.

void RemoveAll();

Hinweise

Entfernt alle elemente, die derzeit im Array gespeichert sind.

CSimpleArray::RemoveAt

Entfernt das angegebene Element aus dem Array.

BOOL RemoveAtint nIndex);

Parameter

nIndex
Index, der auf das zu entfernende Element zeigt.

Rückgabewert

Gibt TRUE zurück, wenn das Element entfernt wurde, FALSE, wenn der Index ungültig war.

Hinweise

Wenn ein Element entfernt wird, werden die verbleibenden Elemente im Array neu nummeriert, um den leeren Raum auszufüllen.

CSimpleArray::SetAtIndex

Legen Sie das angegebene Element im Array fest.

BOOL SetAtIndex(
    int nIndex,
    const T& t);

Parameter

nIndex
Der Index des zu ändernden Elements.

t
Der dem angegebenen Element zuzuweisende Wert.

Rückgabewert

Gibt WAHR zurück, wenn der Index erfolgreich war, FALSE, wenn der Index ungültig war.

Siehe auch

Klassenübersicht