Sdílet prostřednictvím


CSimpleArray – třída

Tato třída poskytuje metody pro správu jednoduchého pole.

Syntaxe

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

Parametry

T
Typ dat, která se mají uložit do pole.

TEqual
Objekt vlastnosti definující test rovnosti prvků typu T.

Členové

Veřejné konstruktory

Název Popis
CSimpleArray::CSimpleArray Konstruktor jednoduchého pole.
CSimpleArray::~CSimpleArray Destruktor jednoduchého pole.

Veřejné metody

Název Popis
CSimpleArray::Add Přidá do pole nový prvek.
CSimpleArray::Find Vyhledá prvek v poli.
CSimpleArray::GetData Vrátí ukazatel na data uložená v poli.
CSimpleArray::GetSize Vrátí počet prvků uložených v poli.
CSimpleArray::Remove Odebere daný prvek z pole.
CSimpleArray::RemoveAll Odebere všechny prvky z pole.
CSimpleArray::RemoveAt Odebere zadaný prvek z pole.
CSimpleArray::SetAtIndex Nastaví zadaný prvek v poli.

Veřejné operátory

Název Popis
CSimpleArray::operator[] Načte prvek z pole.
CSimpleArray::operator = Operátor přiřazení.

Poznámky

CSimpleArray poskytuje metody pro vytváření a správu jednoduchého pole libovolného typu T.

TEqual Parametr poskytuje způsob definování funkce rovnosti pro dva prvky typu T. Vytvořením třídy podobné CSimpleArrayEqualHelper je možné změnit chování testu rovnosti pro jakékoli dané pole. Například při práci s polem ukazatelů může být užitečné definovat rovnost v závislosti na hodnotách, na které odkazují ukazatele. Výchozí implementace využívá operator=().

CSimpleMap CSimpleArray jsou navržené pro malý počet prvků. CAtlArray a CAtlMap by se měly použít, pokud pole obsahuje velký počet prvků.

Požadavky

Hlavička: atlsimpcoll.h

Příklad

// 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

Přidá do pole nový prvek.

BOOL Add(const T& t);

Parametry

t
Prvek, který chcete přidat do pole.

Návratová hodnota

Vrátí hodnotu TRUE, pokud je prvek úspěšně přidán do pole, false jinak.

Příklad

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

CSimpleArray::CSimpleArray

Konstruktor pro objekt pole.

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

Parametry

Src
Existující objekt CSimpleArray.

Poznámky

Inicializuje datové členy, vytvoří nový prázdný CSimpleArray objekt nebo kopii existujícího CSimpleArray objektu.

CSimpleArray::~CSimpleArray

Destruktor.

~CSimpleArray();

Poznámky

Uvolní všechny přidělené prostředky.

CSimpleArray::Find

Vyhledá prvek v poli.

int Find(const T& t) const;

Parametry

t
Prvek, pro který se má hledat.

Návratová hodnota

Vrátí index nalezeného prvku nebo -1, pokud prvek nebyl nalezen.

Příklad

// 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

Vrátí ukazatel na data uložená v poli.

T* GetData() const;

Návratová hodnota

Vrátí ukazatel na data v poli.

CSimpleArray::GetSize

Vrátí počet prvků uložených v poli.

int GetSize() const;

Návratová hodnota

Vrátí počet prvků uložených v poli.

CSimpleArray::operator []

Načte prvek z pole.

T& operator[](int nindex);

Parametry

nIndex
Index elementu.

Návratová hodnota

Vrátí prvek pole odkazovaného nIndex.

Příklad

// 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 =

Operátor přiřazení.

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

Parametry

Src
Pole, které chcete zkopírovat.

Návratová hodnota

Vrátí ukazatel na aktualizovaný CSimpleArray objekt.

Poznámky

Zkopíruje všechny prvky z objektu CSimpleArray , na který odkazuje src , do aktuálního objektu pole a nahradí všechna existující data.

Příklad

// 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

Odebere daný prvek z pole.

BOOL Remove(const T& t);

Parametry

t
Prvek, který chcete odebrat z pole.

Návratová hodnota

Vrátí hodnotu TRUE, pokud se prvek najde a odebere, jinak nePRAVDA.

Poznámky

Když je prvek odebrán, zbývající prvky v poli jsou přečíslovány tak, aby vyplnily prázdné místo.

CSimpleArray::RemoveAll

Odebere všechny prvky z pole.

void RemoveAll();

Poznámky

Odebere všechny prvky, které jsou aktuálně uloženy v poli.

CSimpleArray::RemoveAt

Odebere zadaný prvek z pole.

BOOL RemoveAtint nIndex);

Parametry

nIndex
Index odkazující na prvek, který se má odebrat.

Návratová hodnota

Vrátí hodnotu TRUE, pokud byl prvek odebrán, nePRAVDA, pokud byl index neplatný.

Poznámky

Když je prvek odebrán, zbývající prvky v poli jsou přečíslovány tak, aby vyplnily prázdné místo.

CSimpleArray::SetAtIndex

Nastavte zadaný prvek v poli.

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

Parametry

nIndex
Index prvku, který chcete změnit.

t
Hodnota, která se má přiřadit k zadanému prvku.

Návratová hodnota

Pokud je index úspěšný, vrátí hodnotu PRAVDA, pokud index není platný.

Viz také

Přehled třídy