Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
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 RemoveAt(int 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.