Класс CSimpleArray
Этот класс предоставляет методы для управления простым массивом.
Синтаксис
template <class T, class TEqual = CSimpleArrayEqualHelper<T>>
class CSimpleArray
Параметры
T
Тип данных для хранения в массиве.
TEqual
Объект признака, определяющий тест равенства для элементов типа T.
Участники
Открытые конструкторы
Имя | Описание |
---|---|
CSimpleArray::CSimpleArray | Конструктор простого массива. |
CSimpleArray::~CSimpleArray | Деструктор простого массива. |
Открытые методы
Имя | Описание |
---|---|
CSimpleArray::Add | Добавляет новый элемент в массив. |
CSimpleArray::Find | Находит элемент в массиве. |
CSimpleArray::GetData | Возвращает указатель на данные, хранящиеся в массиве. |
CSimpleArray::GetSize | Возвращает количество элементов, хранящихся в массиве. |
CSimpleArray::Remove | Удаляет заданный элемент из массива. |
CSimpleArray::RemoveAll | Удаляет все элементы из массива. |
CSimpleArray::RemoveAt | Удаляет указанный элемент из массива. |
CSimpleArray::SetAtIndex | Задает указанный элемент в массиве. |
Открытые операторы
Имя | Описание |
---|---|
CSimpleArray::operator[] | Получает элемент из массива. |
CSimpleArray::operator = | Оператор присвоения. |
Замечания
CSimpleArray
предоставляет методы для создания простого массива и управления ими любого заданного типа T
.
TEqual
Параметр предоставляет средства определения функции равенства для двух элементов типаT
. Создав класс, аналогичный CSimpleArrayEqualHelper, можно изменить поведение теста равенства для любого заданного массива. Например, при работе с массивом указателей может быть полезно определить равенство в зависимости от значений ссылки указателей. Реализация по умолчанию использует оператор=().
Оба CSimpleArray
элемента и CSimpleMap предназначены для небольшого количества элементов. CAtlArray и CAtlMap следует использовать, если массив содержит большое количество элементов.
Требования
Заголовок: atlsimpcoll.h
Пример
// 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
Добавляет новый элемент в массив.
BOOL Add(const T& t);
Параметры
с
Элемент, добавляемый в массив.
Возвращаемое значение
Возвращает значение TRUE, если элемент успешно добавлен в массив, значение FALSE в противном случае.
Пример
// Create an array of integers and add some elements
CSimpleArray<int> iMyArray;
for (int i = 0; i < 10; i++)
iMyArray.Add(i);
CSimpleArray::CSimpleArray
Конструктор объекта массива.
CSimpleArray(const CSimpleArray<T, TEqual>& src);
CSimpleArray();
Параметры
src
Существующий объект CSimpleArray
.
Замечания
Инициализирует элементы данных, создавая пустой CSimpleArray
объект или копию существующего CSimpleArray
объекта.
CSimpleArray::~CSimpleArray
Деструктор
~CSimpleArray();
Замечания
Освобождает все выделенные ресурсы.
CSimpleArray::Find
Находит элемент в массиве.
int Find(const T& t) const;
Параметры
с
Элемент, для которого требуется выполнить поиск.
Возвращаемое значение
Возвращает индекс найденного элемента или -1, если элемент не найден.
Пример
// 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
Возвращает указатель на данные, хранящиеся в массиве.
T* GetData() const;
Возвращаемое значение
Возвращает указатель на данные в массиве.
CSimpleArray::GetSize
Возвращает количество элементов, хранящихся в массиве.
int GetSize() const;
Возвращаемое значение
Возвращает количество элементов, хранящихся в массиве.
CSimpleArray::operator []
Получает элемент из массива.
T& operator[](int nindex);
Параметры
nIndex
Индекс элемента.
Возвращаемое значение
Возвращает элемент массива, на который ссылается nIndex.
Пример
// 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 =
Оператор присвоения.
CSimpleArray<T, TEqual>
& operator=(
const CSimpleArray<T, TEqual>& src);
Параметры
src
Массив для копирования.
Возвращаемое значение
Возвращает указатель на обновленный CSimpleArray
объект.
Замечания
Копирует все элементы из CSimpleArray
объекта, на который ссылается src , в текущий объект массива, заменяя все существующие данные.
Пример
// 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
Удаляет заданный элемент из массива.
BOOL Remove(const T& t);
Параметры
с
Элемент, удаляемый из массива.
Возвращаемое значение
Возвращает значение TRUE, если элемент найден и удален, значение FALSE в противном случае.
Замечания
При удалении элемента остальные элементы в массиве переначисляются для заполнения пустого пространства.
CSimpleArray::RemoveAll
Удаляет все элементы из массива.
void RemoveAll();
Замечания
Удаляет все элементы, хранящиеся в массиве.
CSimpleArray::RemoveAt
Удаляет указанный элемент из массива.
BOOL RemoveAt(int nIndex);
Параметры
nIndex
Индекс, указывающий на элемент для удаления.
Возвращаемое значение
Возвращает значение TRUE, если элемент был удален, значение FALSE, если индекс был недопустимым.
Замечания
При удалении элемента остальные элементы в массиве переначисляются для заполнения пустого пространства.
CSimpleArray::SetAtIndex
Задайте указанный элемент в массиве.
BOOL SetAtIndex(
int nIndex,
const T& t);
Параметры
nIndex
Индекс элемента, который нужно изменить.
с
Значение, присваиваемое указанному элементу.
Возвращаемое значение
Возвращает значение TRUE в случае успешного выполнения, значение FALSE, если индекс недействителен.