Udostępnij za pośrednictwem


Klasa CSimpleArray

Ta klasa udostępnia metody zarządzania prostą tablicą.

Składnia

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

Parametry

T
Typ danych do przechowywania w tablicy.

TEqual
Obiekt cech definiujący test równości dla elementów typu T.

Elementy członkowskie

Konstruktory publiczne

Nazwa/nazwisko opis
CSimpleArray::CSimpleArray Konstruktor prostej tablicy.
CSimpleArray::~CSimpleArray Destruktor prostej tablicy.

Metody publiczne

Nazwa/nazwisko opis
CSimpleArray::Add Dodaje nowy element do tablicy.
CSimpleArray::Find Znajduje element w tablicy.
CSimpleArray::GetData Zwraca wskaźnik do danych przechowywanych w tablicy.
CSimpleArray::GetSize Zwraca liczbę elementów przechowywanych w tablicy.
CSimpleArray::Remove Usuwa dany element z tablicy.
CSimpleArray::RemoveAll Usuwa wszystkie elementy z tablicy.
CSimpleArray::RemoveAt Usuwa określony element z tablicy.
CSimpleArray::SetAtIndex Ustawia określony element w tablicy.

Operatory publiczne

Nazwa/nazwisko opis
CSimpleArray::operator[] Pobiera element z tablicy.
CSimpleArray::operator = Operator przypisania.

Uwagi

CSimpleArray Udostępnia metody tworzenia prostej tablicy o dowolnym typie Ti zarządzaniu nią.

Parametr TEqual zapewnia metodę definiowania funkcji równości dla dwóch elementów typu T. Tworząc klasę podobną do CSimpleArrayEqualHelper, można zmienić zachowanie testu równości dla każdej danej tablicy. Na przykład w przypadku obsługi tablicy wskaźników może być przydatne zdefiniowanie równości w zależności od wartości, do których odwołuje się wskaźnik. Domyślna implementacja korzysta z operatora=().

Oba CSimpleArray elementy i CSimpleMap zostały zaprojektowane z myślą o niewielkiej liczbie elementów. CAtlArray i CAtlMap powinny być używane, gdy tablica zawiera dużą liczbę elementów.

Wymagania

Nagłówek: atlsimpcoll.h

Przykład

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

Dodaje nowy element do tablicy.

BOOL Add(const T& t);

Parametry

t
Element do dodania do tablicy.

Wartość zwracana

Zwraca wartość TRUE, jeśli element został pomyślnie dodany do tablicy, w przeciwnym razie wartość FALSE.

Przykład

// 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 obiektu tablicy.

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

Parametry

Src
Istniejący CSimpleArray obiekt.

Uwagi

Inicjuje elementy członkowskie danych, tworząc nowy pusty CSimpleArray obiekt lub kopię istniejącego CSimpleArray obiektu.

CSimpleArray::~CSimpleArray

Destruktora.

~CSimpleArray();

Uwagi

Zwalnia wszystkie przydzielone zasoby.

CSimpleArray::Find

Znajduje element w tablicy.

int Find(const T& t) const;

Parametry

t
Element, dla którego ma być wyszukiwane.

Wartość zwracana

Zwraca indeks znalezionego elementu lub -1, jeśli element nie zostanie znaleziony.

Przykład

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

Zwraca wskaźnik do danych przechowywanych w tablicy.

T* GetData() const;

Wartość zwracana

Zwraca wskaźnik do danych w tablicy.

CSimpleArray::GetSize

Zwraca liczbę elementów przechowywanych w tablicy.

int GetSize() const;

Wartość zwracana

Zwraca liczbę elementów przechowywanych w tablicy.

CSimpleArray::operator []

Pobiera element z tablicy.

T& operator[](int nindex);

Parametry

nIndex
Indeks elementu.

Wartość zwracana

Zwraca element tablicy, do których odwołuje się nIndex.

Przykład

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

Operator przypisania.

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

Parametry

Src
Tablica do skopiowania.

Wartość zwracana

Zwraca wskaźnik do zaktualizowanego CSimpleArray obiektu.

Uwagi

Kopiuje wszystkie elementy z CSimpleArray obiektu, do których odwołuje się src , do bieżącego obiektu tablicy, zastępując wszystkie istniejące dane.

Przykład

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

Usuwa dany element z tablicy.

BOOL Remove(const T& t);

Parametry

t
Element do usunięcia z tablicy.

Wartość zwracana

Zwraca wartość TRUE, jeśli element zostanie znaleziony i usunięty, w przeciwnym razie wartość FALSE.

Uwagi

Po usunięciu elementu pozostałe elementy w tablicy zostaną ponownie ponumerowane, aby wypełnić puste miejsce.

CSimpleArray::RemoveAll

Usuwa wszystkie elementy z tablicy.

void RemoveAll();

Uwagi

Usuwa wszystkie elementy przechowywane obecnie w tablicy.

CSimpleArray::RemoveAt

Usuwa określony element z tablicy.

BOOL RemoveAtint nIndex);

Parametry

nIndex
Indeks wskazujący element do usunięcia.

Wartość zwracana

Zwraca wartość TRUE, jeśli element został usunięty, wartość FALSE, jeśli indeks był nieprawidłowy.

Uwagi

Po usunięciu elementu pozostałe elementy w tablicy zostaną ponownie ponumerowane, aby wypełnić puste miejsce.

CSimpleArray::SetAtIndex

Ustaw określony element w tablicy.

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

Parametry

nIndex
Indeks elementu do zmiany.

t
Wartość do przypisania do określonego elementu.

Wartość zwracana

Zwraca wartość TRUE, jeśli powodzenie, wartość FALSE, jeśli indeks był nieprawidłowy.

Zobacz też

Omówienie klasy