Поделиться через


Класс 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 RemoveAtint nIndex);

Параметры

Nindex
Индекс, указывающий на элемент для удаления.

Возвращаемое значение

Возвращает значение TRUE, если элемент был удален, значение FALSE, если индекс был недопустимым.

Замечания

При удалении элемента остальные элементы в массиве переначисляются для заполнения пустого пространства.

CSimpleArray::SetAtIndex

Задайте указанный элемент в массиве.

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

Параметры

Nindex
Индекс элемента, который нужно изменить.

с
Значение, присваиваемое указанному элементу.

Возвращаемое значение

Возвращает значение TRUE в случае успешного выполнения, значение FALSE, если индекс недействителен.

См. также

Общие сведения о классе