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 T
bereit. 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 RemoveAt(int 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.