Condividi tramite


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 Tspecificato.

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.

Vedi anche

Cenni preliminari sulla classe