CSimpleArray, classe
Cette classe fournit des méthodes pour gérer un tableau simple.
Syntaxe
template <class T, class TEqual = CSimpleArrayEqualHelper<T>>
class CSimpleArray
Paramètres
T
Type de données à stocker dans le tableau.
TEqual
Objet trait, définissant le test d’égalité pour les éléments de type T.
Membres
Constructeurs publics
Nom | Description |
---|---|
CSimpleArray ::CSimpleArray | Constructeur pour le tableau simple. |
CSimpleArray ::~CSimpleArray | Destructeur pour le tableau simple. |
Méthodes publiques
Nom | Description |
---|---|
CSimpleArray ::Add | Ajoute un nouvel élément au tableau. |
CSimpleArray ::Find | Recherche un élément dans le tableau. |
CSimpleArray ::GetData | Retourne un pointeur vers les données stockées dans le tableau. |
CSimpleArray ::GetSize | Retourne le nombre d’éléments stockés dans le tableau. |
CSimpleArray ::Remove | Supprime un élément donné du tableau. |
CSimpleArray ::RemoveAll | Supprime tous les éléments du tableau. |
CSimpleArray ::RemoveAt | Supprime l’élément spécifié du tableau. |
CSimpleArray ::SetAtIndex | Définit l’élément spécifié dans le tableau. |
Opérateurs publics
Nom | Description |
---|---|
CSimpleArray ::operator[] | Récupère un élément du tableau. |
CSimpleArray ::operator = | Opérateur d'assignation. |
Notes
CSimpleArray
fournit des méthodes pour créer et gérer un tableau simple, d’un type T
donné.
Le paramètre TEqual
fournit un moyen de définir une fonction d’égalité pour deux éléments de type T
. En créant une classe similaire à CSimpleArrayEqualHelper, il est possible de modifier le comportement du test d’égalité pour un tableau donné. Par exemple, lorsque vous traitez d’un tableau de pointeurs, il peut être utile de définir l’égalité en fonction des valeurs référencées par les pointeurs. L’implémentation par défaut utilise operator=().
Les deux CSimpleArray
et CSimpleMap sont conçus pour un petit nombre d’éléments. CAtlArray et CAtlMap doivent être utilisés lorsque le tableau contient un grand nombre d’éléments.
Spécifications
En-tête : atlsimpcoll.h
Exemple
// 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
Ajoute un nouvel élément au tableau.
BOOL Add(const T& t);
Paramètres
t
Élément à ajouter au tableau.
Valeur de retour
Retourne TRUE si l’élément est correctement ajouté au tableau, FALSE sinon.
Exemple
// Create an array of integers and add some elements
CSimpleArray<int> iMyArray;
for (int i = 0; i < 10; i++)
iMyArray.Add(i);
CSimpleArray ::CSimpleArray
Constructeur de l’objet tableau.
CSimpleArray(const CSimpleArray<T, TEqual>& src);
CSimpleArray();
Paramètres
src
Objet CSimpleArray
existant.
Notes
Initialise les membres de données, crée un objet vide CSimpleArray
ou une copie d’un objet existant CSimpleArray
.
CSimpleArray ::~CSimpleArray
Destructeur.
~CSimpleArray();
Notes
Libère toutes les ressources allouées.
CSimpleArray ::Find
Recherche un élément dans le tableau.
int Find(const T& t) const;
Paramètres
t
Élément pour lequel effectuer une recherche.
Valeur de retour
Retourne l’index de l’élément trouvé, ou -1 si l’élément est introuvable.
Exemple
// 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
Retourne un pointeur vers les données stockées dans le tableau.
T* GetData() const;
Valeur de retour
Retourne un pointeur vers les données du tableau.
CSimpleArray ::GetSize
Retourne le nombre d’éléments stockés dans le tableau.
int GetSize() const;
Valeur de retour
Retourne le nombre d’éléments stockés dans le tableau.
CSimpleArray ::operator []
Récupère un élément du tableau.
T& operator[](int nindex);
Paramètres
nIndex
Index de l’élément.
Valeur de retour
Retourne l’élément du tableau référencé par nIndex.
Exemple
// 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 =
Opérateur d'assignation.
CSimpleArray<T, TEqual>
& operator=(
const CSimpleArray<T, TEqual>& src);
Paramètres
src
Tableau à copier.
Valeur de retour
Retourne un pointeur vers l’objet mis à jour CSimpleArray
.
Notes
Copie tous les éléments de l’objet CSimpleArray
référencé par src dans l’objet tableau actuel, en remplaçant toutes les données existantes.
Exemple
// 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
Supprime un élément donné du tableau.
BOOL Remove(const T& t);
Paramètres
t
Élément à supprimer du tableau.
Valeur de retour
Retourne TRUE si l’élément est trouvé et supprimé ; sinon, FALSE.
Notes
Lorsqu’un élément est supprimé, les éléments restants du tableau sont renumérotés pour remplir l’espace vide.
CSimpleArray ::RemoveAll
Supprime tous les éléments du tableau.
void RemoveAll();
Notes
Supprime tous les éléments actuellement stockés dans le tableau.
CSimpleArray ::RemoveAt
Supprime l’élément spécifié du tableau.
BOOL RemoveAt(int nIndex);
Paramètres
nIndex
Index pointant vers l’élément à supprimer.
Valeur de retour
Retourne TRUE si l’élément a été supprimé, FALSE si l’index n’était pas valide.
Notes
Lorsqu’un élément est supprimé, les éléments restants du tableau sont renumérotés pour remplir l’espace vide.
CSimpleArray ::SetAtIndex
Définissez l’élément spécifié dans le tableau.
BOOL SetAtIndex(
int nIndex,
const T& t);
Paramètres
nIndex
Index de l’élément à modifier.
t
Valeur à assigner à l’élément spécifié.
Valeur de retour
Retourne TRUE si elle réussit, FALSE si l’index n’a pas été valide.