Classe CSimpleArray
Questa classe fornisce metodi per la gestione di una matrice semplice.
Sintassi
template <class T, class TEqual = CSimpleArrayEqualHelper<T>>
class CSimpleArray
Parametri
T
Tipo di dati da archiviare nella matrice.
TEqual
Oggetto tratto, che definisce il test di uguaglianza per gli elementi di tipo T.
Membri
Costruttori pubblici
Nome | Descrizione |
---|---|
CSimpleArray::CSimpleArray | Costruttore per la matrice semplice. |
CSimpleArray::~CSimpleArray | Distruttore per la matrice semplice. |
Metodi pubblici
Nome | Descrizione |
---|---|
CSimpleArray::Add | Aggiunge un nuovo elemento alla matrice. |
CSimpleArray::Find | Trova un elemento nella matrice. |
CSimpleArray::GetData | Restituisce un puntatore ai dati archiviati nella matrice. |
CSimpleArray::GetSize | Restituisce il numero di elementi archiviati nella matrice. |
CSimpleArray::Remove | Rimuove un determinato elemento dalla matrice. |
CSimpleArray::RemoveAll | Rimuove tutti gli elementi dalla matrice. |
CSimpleArray::RemoveAt | Rimuove l'elemento specificato dalla matrice. |
CSimpleArray::SetAtIndex | Imposta l'elemento specificato nella matrice. |
Operatori pubblici
Nome | Descrizione |
---|---|
CSimpleArray::operator[] | Recupera un elemento da una matrice. |
CSimpleArray::operator = | Operatore di assegnazione. |
Osservazioni:
CSimpleArray
fornisce metodi per la creazione e la gestione di una matrice semplice, di qualsiasi tipo T
specificato.
Il parametro TEqual
fornisce un mezzo per definire una funzione di uguaglianza per due elementi di tipo T
. Creando una classe simile a CSimpleArrayEqualHelper, è possibile modificare il comportamento del test di uguaglianza per una determinata matrice. Ad esempio, quando si tratta di una matrice di puntatori, può essere utile definire l'uguaglianza in base ai valori a cui fanno riferimento i puntatori. L'implementazione predefinita usa operator=().
Sia CSimpleArray
CSimpleMap sono progettati per un numero ridotto di elementi. È consigliabile usare CAtlArray e CAtlMap quando la matrice contiene un numero elevato di elementi.
Requisiti
Intestazione: atlsimpcoll.h
Esempio
// 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
Aggiunge un nuovo elemento alla matrice.
BOOL Add(const T& t);
Parametri
o
Elemento da aggiungere alla matrice.
Valore restituito
Restituisce TRUE se l'elemento viene aggiunto correttamente alla matrice, FALSE in caso contrario.
Esempio
// Create an array of integers and add some elements
CSimpleArray<int> iMyArray;
for (int i = 0; i < 10; i++)
iMyArray.Add(i);
CSimpleArray::CSimpleArray
Costruttore per l'oggetto matrice.
CSimpleArray(const CSimpleArray<T, TEqual>& src);
CSimpleArray();
Parametri
src
Oggetto CSimpleArray
esistente.
Osservazioni:
Inizializza i membri dati, creando un nuovo oggetto vuoto CSimpleArray
o una copia di un oggetto esistente CSimpleArray
.
CSimpleArray::~CSimpleArray
Distruttore.
~CSimpleArray();
Osservazioni:
Libera tutte le risorse allocate.
CSimpleArray::Find
Trova un elemento nella matrice.
int Find(const T& t) const;
Parametri
o
Elemento per il quale eseguire la ricerca.
Valore restituito
Restituisce l'indice dell'elemento trovato oppure -1 se l'elemento non viene trovato.
Esempio
// 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
Restituisce un puntatore ai dati archiviati nella matrice.
T* GetData() const;
Valore restituito
Restituisce un puntatore ai dati nella matrice.
CSimpleArray::GetSize
Restituisce il numero di elementi archiviati nella matrice.
int GetSize() const;
Valore restituito
Restituisce il numero di elementi archiviati nella matrice.
CSimpleArray::operator []
Recupera un elemento da una matrice.
T& operator[](int nindex);
Parametri
nIndex
Indice dell'elemento.
Valore restituito
Restituisce l'elemento della matrice a cui fa riferimento nIndex.
Esempio
// 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 =
Operatore di assegnazione.
CSimpleArray<T, TEqual>
& operator=(
const CSimpleArray<T, TEqual>& src);
Parametri
src
Matrice da copiare.
Valore restituito
Restituisce un puntatore all'oggetto aggiornato CSimpleArray
.
Osservazioni:
Copia tutti gli elementi dall'oggetto CSimpleArray
a cui fa riferimento src nell'oggetto matrice corrente, sostituendo tutti i dati esistenti.
Esempio
// 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
Rimuove un determinato elemento dalla matrice.
BOOL Remove(const T& t);
Parametri
o
Elemento da rimuovere dalla matrice.
Valore restituito
Restituisce TRUE se l'elemento viene trovato e rimosso, false in caso contrario.
Osservazioni:
Quando un elemento viene rimosso, gli elementi rimanenti nella matrice vengono numerati per riempire lo spazio vuoto.
CSimpleArray::RemoveAll
Rimuove tutti gli elementi dalla matrice.
void RemoveAll();
Osservazioni:
Rimuove tutti gli elementi attualmente archiviati nella matrice.
CSimpleArray::RemoveAt
Rimuove l'elemento specificato dalla matrice.
BOOL RemoveAtint nIndex);
Parametri
nIndex
Indice che punta all'elemento da rimuovere.
Valore restituito
Restituisce TRUE se l'elemento è stato rimosso, FALSE se l'indice non è valido.
Osservazioni:
Quando un elemento viene rimosso, gli elementi rimanenti nella matrice vengono numerati per riempire lo spazio vuoto.
CSimpleArray::SetAtIndex
Impostare l'elemento specificato nella matrice.
BOOL SetAtIndex(
int nIndex,
const T& t);
Parametri
nIndex
Indice dell'elemento da modificare.
o
Valore da assegnare all'elemento specificato.
Valore restituito
Restituisce TRUE se ha esito positivo, FALSE se l'indice non è valido.