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 T
i 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.