Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Предоставляет типобезопасную "программу-оболочку" для объектов класса CPtrArray или CObArray.
Синтаксис
template<class BASE_CLASS, class TYPE>
class CTypedPtrArray : public BASE_CLASS
Параметры
BASE_CLASS
Базовый класс класса типизированного массива указателя; должен быть классом массива (CObArray или CPtrArray).
ТИП
Тип элементов, хранящихся в массиве базового класса.
Участники
Открытые методы
| Имя | Описание |
|---|---|
| CTypedPtrArray::Add | Добавляет новый элемент в конец массива. При необходимости увеличивает массив |
| CTypedPtrArray::Add | Добавляет содержимое одного массива в конец другого. При необходимости увеличивает массив |
| CTypedPtrArray::Copy | Копирует другой массив в этот массив. При необходимости размер массива увеличивается. |
| CTypedPtrArray::ElementAt | Возвращает временную ссылку на указатель элемента в массиве. |
| CTypedPtrArray::GetAt | Возвращает значение по указанному индексу. |
| CTypedPtrArray::InsertAt | Вставляет элемент (или все элементы в другом массиве) по указанному индексу. |
| CTypedPtrArray::SetAt | Задает значение для указанного индекса. Размер массива не увеличивается. |
| CTypedPtrArray::SetAtGrow | Задает значение для указанного индекса. При необходимости размер массива увеличивается. |
Открытые операторы
| Имя | Описание |
|---|---|
| CTypedPtrArray::operator [ ] | Получает или задает элемент с указанным индексом. |
Замечания
При использовании CTypedPtrArray вместо CPtrArray этого CObArrayили средство проверки типов C++ помогает устранить ошибки, вызванные несоответствием типов указателей.
Кроме того, оболочка CTypedPtrArray выполняет большую часть приведения, которая потребуется при использовании CObArray или CPtrArray.
Так как все CTypedPtrArray функции являются встроенными, использование этого шаблона значительно не влияет на размер или скорость кода.
Дополнительные сведения об использовании CTypedPtrArrayсм. в статьях коллекции и классы на основе шаблонов.
Иерархия наследования
BASE_CLASS
CTypedPtrArray
Требования
Заголовок: afxtempl.h
CTypedPtrArray::Add
Эта функция-член вызывает BASE_CLASS::Add.
INT_PTR Add(TYPE newElement);
Параметры
ТИП
Параметр шаблона, указывающий тип элемента, добавляемого в массив.
newElement
Элемент, добавляемый в этот массив.
Возвращаемое значение
Индекс добавленного элемента.
Замечания
Дополнительные замечания см. в разделе CObArray::Add.
CTypedPtrArray::Add
Эта функция-член вызывает BASE_CLASS::Append**.
INT_PTR Append(const CTypedPtrArray<BASE_CLASS, TYPE>& src);
Параметры
BASE_CLASS
Базовый класс класса типизированного массива указателя; должен быть классом массива (CObArray или CPtrArray).
ТИП
Тип элементов, хранящихся в массиве базового класса.
src
Источник элементов, добавляемых в массив.
Возвращаемое значение
Индекс первого добавленного элемента.
Замечания
Дополнительные замечания см. в разделе CObArray::Append.
CTypedPtrArray::Copy
Эта функция-член вызывает BASE_CLASS::Copy.
void Copy(const CTypedPtrArray<BASE_CLASS, TYPE>& src);
Параметры
BASE_CLASS
Базовый класс класса типизированного массива указателя; должен быть классом массива (CObArray или CPtrArray).
ТИП
Тип элементов, хранящихся в массиве базового класса.
src
Источник элементов, копируемых в массив.
Замечания
Дополнительные замечания см. в разделе CObArray::Copy.
CTypedPtrArray::ElementAt
Эта встроенная функция вызывает BASE_CLASS::ElementAt.
TYPE& ElementAt(INT_PTR nIndex);
Параметры
ТИП
Параметр шаблона, указывающий тип элементов, хранящихся в этом массиве.
nIndex
Целочисленный индекс, который больше или равен 0 и меньше или равен значению , возвращаемого параметром BASE_CLASS::GetUpperBound.
Возвращаемое значение
Временная ссылка на элемент в расположении, указанном в nIndex. Этот элемент имеет тип, указанный параметром шаблона TYPE.
Замечания
Дополнительные замечания см. в разделе CObArray::ElementAt.
CTypedPtrArray::GetAt
Эта встроенная функция вызывает BASE_CLASS::GetAt.
TYPE GetAt(INT_PTR nIndex) const;
Параметры
ТИП
Параметр шаблона, указывающий тип элементов, хранящихся в массиве.
nIndex
Целочисленный индекс, который больше или равен 0 и меньше или равен значению , возвращаемого параметром BASE_CLASS::GetUpperBound.
Возвращаемое значение
Копия элемента в расположении, указанном nIndex. Этот элемент имеет тип, указанный параметром шаблона TYPE.
Замечания
Дополнительные замечания см. в разделе CObArray::GetAt
CTypedPtrArray::InsertAt
Эта функция-член вызывает BASE_CLASS::InsertAt.
void InsertAt(
INT_PTR nIndex,
TYPE newElement,
INT_PTR nCount = 1);
void InsertAt(
INT_PTR nStartIndex,
CTypedPtrArray<BASE_CLASS, TYPE>* pNewArray);
Параметры
nIndex
Целочисленный индекс, который может быть больше значения, возвращаемого CObArray::GetUpperBound.
ТИП
Тип элементов, хранящихся в массиве базового класса.
newElement
Указатель объекта, который нужно поместить в этот массив. Допускается новое значение NULL .
nCount
Количество вставок этого элемента (по умолчанию — 1).
nStartIndex
Целочисленный индекс, который может быть больше значения, возвращаемого CObArray::GetUpperBound.
BASE_CLASS
Базовый класс класса типизированного массива указателя; должен быть классом массива (CObArray или CPtrArray).
pNewArray
Другой массив, содержащий элементы, добавляемые в этот массив.
Замечания
Дополнительные замечания см. в разделе CObArray::InsertAt.
CTypedPtrArray::operator [ ]
Эти встроенные операторы вызывают BASE_CLASS::operator [ ].
TYPE& operator[ ](int_ptr nindex);
TYPE operator[ ](int_ptr nindex) const;
Параметры
ТИП
Параметр шаблона, указывающий тип элементов, хранящихся в массиве.
nIndex
Целочисленный индекс, который больше или равен 0 и меньше или равен значению , возвращаемого параметром BASE_CLASS::GetUpperBound.
Замечания
Первый оператор, который вызывается для массивов, которые не constявляются, можно использовать в правом (r-value) или левом (l-value) инструкции назначения. Второй, вызываемый для const массивов, можно использовать только справа.
Отладочная версия библиотеки утверждает, что подстрок (слева или справа от оператора назначения) выходит за рамки.
CTypedPtrArray::SetAt
Эта функция-член вызывает BASE_CLASS::SetAt.
void SetAt(
INT_PTR nIndex,
TYPE ptr);
Параметры
nIndex
Целочисленный индекс, который больше или равен 0 и меньше или равен значению, возвращаемого CObArray::GetUpperBound.
ТИП
Тип элементов, хранящихся в массиве базового класса.
ptr
Указатель на элемент, который нужно вставить в массив в nIndex. Допускается значение NULL.
Замечания
Дополнительные замечания см. в разделе CObArray::SetAt.
CTypedPtrArray::SetAtGrow
Эта функция-член вызывает BASE_CLASS::SetAtGrow.
void SetAtGrow(
INT_PTR nIndex,
TYPE newElement);
Параметры
nIndex
Целый индекс, превышающий или равный 0.
ТИП
Тип элементов, хранящихся в массиве базового класса.
newElement
Указатель объекта, добавляемый в этот массив.
Допускается значение NULL.
Замечания
Дополнительные замечания см. в разделе CObArray::SetAtGrow.
См. также
Пример MFC COLLECT
Диаграмма иерархии
Класс CPtrArray
Класс CObArray