Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Этот класс предоставляет методы для управления простым массивом.
Синтаксис
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, если индекс недействителен.