getupperbound c что это

Функция GetUpperBound () и GetLowerBound () для массива

Кто-нибудь может рассказать, что делают две функции? Они принимают целочисленный аргумент, который считается размерностью. Но как значение этого целого меняет результат?

Ниже приведен пример, который я выполнил.

Любая идея, почему GetLowerBound() всегда возвращает 0? Если это всегда возвращает 0, то почему мы нужно вызвать этот метод?

3 ответа

Возможно, некоторые примеры помогут вам понять эту тему.

Мы используем GetUpperBound() для определения верхней границы массива для заданной размерности, например:

обычно GetLowerBound() возвращает 0, поскольку по умолчанию массивы основаны на нуле, но в некоторых редких случаях это не так:

Integer параметр GetUpper/LowerBound() указывает размерность.

Кто-нибудь может рассказать, что делают две функции?

Это написано на их страницах MSDN. Они получают индекс первого/последнего элемента указанного измерения в массиве. Посмотрите Array.GetUpperBound и Array.GetLowerBound

Они принимают целочисленный аргумент, который считается размерностью.

Любая идея, почему GetLowerBound() всегда возвращает 0? Если это всегда возвращает 0, то почему нам нужно вызвать этот метод?

В массиве каждое измерение может иметь свои конкретные нижние и верхние границы. Таким образом, эти методы могут создавать разные результаты для каждого измерения массива.

Источник

GetUpperBound() and GetLowerBound() function for array

Can anyone please tell what does the two functions do? They take an integer argument which is told to be dimension. But how does the value of this integer changes the output?

Below is an example which I ran.

Any idea why GetLowerBound() is always returning 0? If this always returns 0 then why do we need to call this method?

3 Answers 3

May be some examples make the topic clear for you

We use GetUpperBound() to find out the upper bound of an array for given dimension, like that:

usually, GetLowerBound() returns 0, since arrays are zero-based by default, but in some rare cases they are not:

Typical loop using GetLowerBound and GetUpperBound is

The integer parameter to GetUpper/LowerBound() specifies the dimension.

Can anyone please tell what does the two functions do?

It is written in their MSDN pages. They gets the index of the first / last element of the specified dimension in the array. Take a look Array.GetUpperBound and Array.GetLowerBound

They take an integer argument which is told to be dimension.

Any idea why GetLowerBound() is always returning 0? If this always returns 0 then why do we need to call this method?

In an array, every dimension can have their specific lower and uppor bounds. So, this methods can create different results for each dimension of array.

Источник

Класс CArray

Поддерживает массивы, которые подобны массивам C, но могут динамически уменьшаться и увеличиваться по мере необходимости.

Синтаксис

Параметры

Члены

Открытые конструкторы

Открытые методы

Открытые операторы

Комментарии

Индексы массивов всегда начинаются в позиции 0. Вы можете решить, следует ли исправить верхнюю границу или разрешить массиву расширять при добавлении элементов после текущей границы. Память выделяется непрерывно с верхней границей, даже если некоторые элементы имеют значение null.

Как и в случае с массивом C, время доступа для CArray индексированного элемента является константой и не зависит от размера массива.

Если требуется дамп отдельных элементов в массиве, необходимо задать CDumpContext для глубины объекта значение 1 или больше.

Некоторые функции элементов этого класса вызывают глобальные вспомогательные функции, которые необходимо настроить для большинства случаев использования CArray класса. См. раздел вспомогательные методы класса коллекций разделов в разделе макросы и глобальные классы MFC.

Наследование класса массива подобно порождению списка.

Дополнительные сведения об использовании CArray см. в статье CArray статей.

Иерархия наследования

Требования

Заголовок

CArray::Add

Добавляет новый элемент в конец массива, увеличивая массив на 1.

Параметры

ARG_TYPE
Параметр шаблона, указывающий тип аргументов, ссылающихся на элементы в этом массиве.

newElement
Элемент, добавляемый в этот массив.

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

Индекс добавленного элемента.

Комментарии

Если SetSize используется nGrowBy значение больше 1, может быть выделена память дополнительной памяти. Однако верхняя граница будет увеличена только до 1.

Пример

CArray::Append

Вызовите эту функцию члена, чтобы добавить содержимое одного массива в конец другого.

Параметры

src
Источник элементов, добавляемых в массив.

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

Индекс первого добавленного элемента.

Комментарии

Массивы должны быть одного типа.

При необходимости Append может выделить дополнительный объем памяти для размещения элементов, добавляемых в массив.

Пример

CArray::CArray

Создает пустой массив.

Комментарии

Массив растет по одному элементу за раз.

Пример

CArray::Copy

Используйте эту функцию члена, чтобы скопировать элементы одного массива в другой.

Параметры

src
Источник элементов, копируемых в массив.

Комментарии

Вызовите эту функцию члена, чтобы перезаписать элементы одного массива элементами другого массива.

Copy не освобождает память; Однако при необходимости Copy может выделить дополнительный объем памяти для размещения элементов, копируемых в массив.

Пример

CArray::ElementAt

Возвращает временную ссылку на указанный элемент в массиве.

Параметры

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

Ссылка на элемент массива.

Комментарии

Он используется для реализации оператора присваивания слева для массивов.

Пример

CArray::FreeExtra

Освобождает все дополнительные памяти, которые были выделены, пока массив был увеличен.

Комментарии

Эта функция не влияет на размер или верхнюю границу массива.

Пример

CArray::GetAt

Возвращает элемент массива по указанному индексу.

Параметры

TYPE
Параметр шаблона, указывающий тип элементов массива.

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

Элемент массива в данный момент по этому индексу.

Комментарии

Передача отрицательного значения или значения, превышающего значение, возвращенное, GetUpperBound приведет к неудачному утверждению.

Пример

CArray::GetCount

Возвращает число элементов массива.

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

Количество элементов в массиве.

Комментарии

Вызовите этот метод, чтобы получить количество элементов в массиве. Поскольку индексы отсчитываются от нуля, размер равен 1 больше, чем самый крупный индекс. Вызов этого метода приведет к созданию того же результата, что и CArray::GetSize метод.

Пример

CArray::GetData

Используйте эту функцию члена для получения прямого доступа к элементам в массиве.

Читайте также:  что делает медицинский оптик

Параметры

TYPE
Параметр шаблона, указывающий тип элементов массива.

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

Указатель на элемент массива.

Комментарии

Если нет доступных элементов, GetData возвращает значение null.

Пример

CArray::GetSize

Возвращает размер массива.

Комментарии

Поскольку индексы отсчитываются от нуля, размер равен 1 больше, чем самый крупный индекс. Вызов этого метода приведет к созданию того же результата, что и CArray::GetCount метод.

Пример

CArray::GetUpperBound

Возвращает текущую верхнюю границу данного массива.

Комментарии

Условие GetUpperBound( ) =-1 указывает, что массив не содержит элементов.

Пример

CArray::InsertAt

Первая версия InsertAt вставляет один элемент (или несколько копий элемента) по указанному индексу в массиве.

Параметры

ARG_TYPE
Параметр шаблона, указывающий тип элементов в этом массиве.

newElement
Элемент, помещаемый в этот массив.

nCount
Количество раз, когда этот элемент должен быть вставлен (значение по умолчанию — 1).

pNewArray
Другой массив, содержащий элементы для добавления в этот массив.

Комментарии

В процессе он смещается (путем увеличения индекса) существующего элемента в этом индексе и сдвигает все элементы над ним.

Вторая версия вставляет все элементы из другой CArray коллекции, начиная с nStartIndex позиции.

SetAt Функция, напротив, заменяет один указанный элемент массива и не сдвигает ни одного элемента.

Пример

CArray::IsEmpty

Определяет, является ли массив пустым.

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

Ненулевое значение, если массив не содержит элементов; в противном случае — 0.

CArray::operator []

Эти операторы подстрочных индексов являются удобным заменой для SetAt GetAt функций и.

Параметры

TYPE
Параметр шаблона, указывающий тип элементов в этом массиве.

nIndex
Индекс элемента, к которому осуществляется доступ.

Комментарии

Отладочная версия библиотеки утверждает, находится ли индекс (в левой или правой части инструкции присваивания) вне границ.

Пример

CArray::RelocateElements

Перемещает данные в новый буфер, когда массив должен увеличиваться или сжиматься.

Параметры

pNewData
Новый буфер для массива элементов.

pData
Старый массив элементов.

nCount
Число элементов в старом массиве.

Комментарии

pNewData значение всегда достаточно велико для хранения всех pData элементов.

CArray Реализация использует этот метод для копирования старых данных в новый буфер, когда массив должен увеличиваться или сжиматься (когда SetSize или FreeExtra вызывается). Реализация по умолчанию просто копирует данные.

Для массивов, в которых элемент содержит указатель на один из своих собственных элементов, или другая структура содержит указатель на один из элементов массива, указатели не обновляются в виде обычного копирования. В этом случае можно исправить указатели, реализовав специализацию RelocateElements с соответствующими типами. Вы также отвечаете за копирование данных.

CArray::RemoveAll

Удаляет все элементы из этого массива.

Комментарии

Если массив уже пуст, функция продолжает работать.

Пример

CArray::RemoveAt

Удаляет один или несколько элементов, начиная с указанного индекса в массиве.

Параметры

nCount
Число удаляемых элементов.

Комментарии

В процессе он сдвигает все элементы над удаленными элементами. Он уменьшает верхнюю границу массива, но не освобождает память.

Если попытаться удалить больше элементов, чем содержится в массиве над точкой удаления, то отладочная версия библиотеки будет утверждена.

Пример

CArray::SetAt

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

Параметры

ARG_TYPE
Параметр шаблона, указывающий тип аргументов, используемых для ссылок на элементы массива.

newElement
Новое значение элемента, которое должно храниться в указанной позиции.

Комментарии

SetAt не приведет к увеличению размера массива. Используйте, SetAtGrow Если требуется, чтобы массив был автоматически расти.

Необходимо убедиться, что значение индекса соответствует допустимой позиции в массиве. Если он выходит за пределы допустимого диапазона, отладочная версия библиотеки утверждает.

Пример

CArray::SetAtGrow

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

Параметры

nIndex
Целочисленный индекс, который больше или равен 0.

ARG_TYPE
Параметр шаблона, указывающий тип элементов в массиве.

newElement
Элемент, добавляемый в этот массив. NULL Допустимое значение.

Комментарии

При необходимости массив автоматически растет (то есть верхняя граница корректируется для размещения нового элемента).

Пример

CArray::SetSize

Устанавливает размер пустого или существующего массива. При необходимости выделяет память.

Параметры

nNewSize
Новый размер массива (число элементов). Должно быть больше или равно 0.

nGrowBy
Минимальное число слотов элементов для выделения при необходимости увеличения размера.

Комментарии

Если новый размер меньше старого, массив усекается и освобождается вся неиспользуемая память.

Источник

Функция GetUpperBound () и GetLowerBound () для массива

Кто-нибудь может рассказать, что делают две функции? Они принимают целочисленный аргумент, который считается размерностью. Но как значение этого целого меняет результат?

Ниже приведен пример, который я выполнил.

Любая идея, почему GetLowerBound() всегда возвращает 0? Если это всегда возвращает 0, то почему мы нужно вызвать этот метод?

3 ответа

Возможно, некоторые примеры помогут вам понять эту тему.

Мы используем GetUpperBound() для определения верхней границы массива для заданной размерности, например:

обычно GetLowerBound() возвращает 0, поскольку по умолчанию массивы основаны на нуле, но в некоторых редких случаях это не так:

Integer параметр GetUpper/LowerBound() указывает размерность.

Кто-нибудь может рассказать, что делают две функции?

Это написано на их страницах MSDN. Они получают индекс первого/последнего элемента указанного измерения в массиве. Посмотрите Array.GetUpperBound и Array.GetLowerBound

Они принимают целочисленный аргумент, который считается размерностью.

Любая идея, почему GetLowerBound() всегда возвращает 0? Если это всегда возвращает 0, то почему нам нужно вызвать этот метод?

В массиве каждое измерение может иметь свои конкретные нижние и верхние границы. Таким образом, эти методы могут создавать разные результаты для каждого измерения массива.

Источник

Класс CObArray

Синтаксис

Члены

Открытые конструкторы

name Описание
CObArray::CObArray Конструирует пустой массив для CObject указателей.

Открытые методы

Открытые операторы

Комментарии

Эти массивы объектов похожи на массивы C, но они могут динамически сжиматься и увеличиваться по мере необходимости.

В Win32 размер CObArray объекта ограничен только доступной памятью.

Как и в случае с массивом C, время доступа для CObArray индексированного элемента является константой и не зависит от размера массива.

CObArray использует макрос IMPLEMENT_SERIAL для поддержки сериализации и записи элементов в дамп. Если массив CObject указателей хранится в архиве с перегруженным оператором вставки или с Serialize функцией-членом, каждый CObject элемент в свою очередь сериализуется вместе с индексом массива.

Если требуется дамп отдельных CObject элементов в массиве, необходимо задать CDumpContext для глубины объекта значение 1 или больше.

При CObArray удалении объекта или удалении его элементов CObject удаляются только указатели, а не объекты, на которые они ссылаются.

Наследование класса массива аналогично наследованию списка. Дополнительные сведения о наследовании класса списков специального назначения см. в статье коллекциистатей.

Если предполагается сериализовать массив, необходимо использовать макрос IMPLEMENT_SERIAL в реализации производного класса.

Иерархия наследования

Требования

Заголовок

CObArray::Add

Добавляет новый элемент в конец массива, увеличивая массив на 1.

Параметры

newElement
CObject Указатель, добавляемый к этому массиву.

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

Индекс добавленного элемента.

Комментарии

Если SetSize используется nGrowBy значение больше 1, может быть выделена память дополнительной памяти. Однако верхняя граница будет увеличена только до 1.

Класс Функция-член
CByteArray INT_PTR Add(BYTE newElement);

throw(CMemoryException*);

CDWordArray INT_PTR Add(DWORD newElement);

throw(CMemoryException*);

CPtrArray INT_PTR Add(void* newElement);

throw(CMemoryException*);

CStringArray INT_PTR Add(LPCTSTR newElement); throw(CMemoryException*);

INT_PTR Add(const CString& newElement);

CUIntArray INT_PTR Add(UINT newElement);

throw(CMemoryException*);

CWordArray INT_PTR Add(WORD newElement);

throw(CMemoryException*);

Пример

CObList::CObList Список CAge классов, используемых во всех примерах коллекции, см. в разделе.

Результаты этой программы выглядят следующим образом:

CObArray::Append

Вызовите эту функцию члена, чтобы добавить содержимое другого массива в конец заданного массива.

Параметры

src
Источник элементов, добавляемых в массив.

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

Индекс первого добавленного элемента.

Комментарии

Массивы должны быть одного типа.

При необходимости Append может выделить дополнительный объем памяти для размещения элементов, добавляемых в массив.

Класс Функция-член
CByteArray INT_PTR Append(const CByteArray& src);
CDWordArray INT_PTR Append(const CDWordArray& src);
CPtrArray INT_PTR Append(const CPtrArray& src);
CStringArray INT_PTR Append(const CStringArray& src);
CUIntArray INT_PTR Append(const CUIntArray& src);
CWordArray INT_PTR Append(const CWordArray& src);

Пример

CObList::CObList Список CAge классов, используемых во всех примерах коллекции, см. в разделе.

CObArray::Copy

Вызовите эту функцию члена, чтобы перезаписать элементы заданного массива элементами другого массива того же типа.

Параметры

src
Источник элементов, копируемых в массив.

Комментарии

Copy не освобождает память. При необходимости Copy может выделить дополнительный объем памяти для размещения элементов, копируемых в массив.

Класс Функция-член
CByteArray void Copy(const CByteArray& src);
CDWordArray void Copy(const CDWordArray& src);
CPtrArray void Copy(const CPtrArray& src);
CStringArray void Copy(const CStringArray& src);
CUIntArray void Copy(const CUIntArray& src);
CWordArray void Copy(const CWordArray& src);

Пример

CObList::CObList Список CAge классов, используемых во всех примерах коллекции, см. в разделе.

CObArray::CObArray

Конструирует пустой CObject массив указателей.

Комментарии

Массив растет по одному элементу за раз.

Класс Конструктор
CByteArray CByteArray();
CDWordArray CDWordArray();
CPtrArray CPtrArray();
CStringArray CStringArray();
CUIntArray CUIntArray();
CWordArray CWordArray();

Пример

CObArray::ElementAt

Возвращает временную ссылку на указатель элемента в массиве.

Параметры

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

Ссылка на CObject указатель.

Комментарии

Он используется для реализации оператора присваивания на стороне слева для массивов. Это расширенная функция, которая должна использоваться только для реализации специальных операторов массивов.

Класс Функция-член
CByteArray BYTE& ElementAt(INT_PTR nIndex);
CDWordArray DWORD& ElementAt(INT_PTR nIndex);
CPtrArray void*& ElementAt(INT_PTR nIndex);
CStringArray CString& ElementAt(INT_PTR nIndex);
CUIntArray UINT& ElementAt(INT_PTR nIndex);
CWordArray WORD& ElementAt(INT_PTR nIndex);

Пример

CObArray::FreeExtra

Освобождает все дополнительные памяти, которые были выделены, пока массив был увеличен.

Комментарии

Эта функция не влияет на размер или верхнюю границу массива.

Класс Функция-член
CByteArray void FreeExtra();
CDWordArray void FreeExtra();
CPtrArray void FreeExtra();
CStringArray void FreeExtra();
CUIntArray void FreeExtra();
CWordArray void FreeExtra();

Пример

CObArray::GetAt

Возвращает элемент массива по указанному индексу.

Параметры

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

CObject Элемент указателя, находящегося в данный момент в этом индексе.

Комментарии

Передача отрицательного значения или значения, превышающего значение, возвращенное, GetUpperBound приведет к неудачному утверждению.

Класс Функция-член
CByteArray BYTE GetAt(INT_PTR nIndex) const;
CDWordArray DWORD GetAt(INT_PTR nIndex) const;
CPtrArray void* GetAt(INT_PTR nIndex) const;
CStringArray CString GetAt(INT_PTR nIndex) const;
CUIntArray UINT GetAt(INT_PTR nIndex) const;
CWordArray WORD GetAt(INT_PTR nIndex) const;

Пример

CObList::CObList Список CAge классов, используемых во всех примерах коллекции, см. в разделе.

CObArray::GetCount

Возвращает число элементов массива.

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

Количество элементов в массиве.

Комментарии

Вызовите этот метод, чтобы получить количество элементов в массиве. Поскольку индексы отсчитываются от нуля, размер равен 1 больше, чем самый крупный индекс.

Класс Функция-член
CByteArray INT_PTR GetCount() const;
CDWordArray INT_PTR GetCount() const;
CPtrArray INT_PTR GetCount() const;
CStringArray INT_PTR GetCount() const;
CUIntArray INT_PTR GetCount() const;
CWordArray INT_PTR GetCount() const;

Пример

CObList::CObList Список CAge классов, используемых во всех примерах коллекции, см. в разделе.

CObArray::GetData

Используйте эту функцию члена для получения прямого доступа к элементам в массиве.

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

Указатель на массив CObject указателей.

Комментарии

Если нет доступных элементов, GetData возвращает NULL значение.

Класс Функция-член
CByteArray const BYTE* GetData() const; BYTE* GetData();
CDWordArray const DWORD* GetData() const; DWORD* GetData();
CPtrArray const void** GetData() const; void** GetData();
CStringArray const CString* GetData() const; CString* GetData();
CUIntArray const UINT* GetData() const; UINT* GetData();
CWordArray const WORD* GetData() const; WORD* GetData();

Пример

CObList::CObList Список CAge классов, используемых во всех примерах коллекции, см. в разделе.

CObArray::GetSize

Возвращает размер массива.

Комментарии

Так как индексы отсчитываются от нуля, размер равен 1 больше, чем самый крупный индекс.

Класс Функция-член
CByteArray INT_PTR GetSize() const;
CDWordArray INT_PTR GetSize() const;
CPtrArray INT_PTR GetSize() const;
CStringArray INT_PTR GetSize() const;
CUIntArray INT_PTR GetSize() const;
CWordArray INT_PTR GetSize() const;

Пример

CObList::CObList Список CAge классов, используемых во всех примерах коллекции, см. в разделе.

CObArray::GetUpperBound

Возвращает текущую верхнюю границу данного массива.

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

Индекс верхней границы (от нуля).

Комментарии

Класс Функция-член
CByteArray INT_PTR GetUpperBound() const;
CDWordArray INT_PTR GetUpperBound() const;
CPtrArray INT_PTR GetUpperBound() const;
CStringArray INT_PTR GetUpperBound() const;
CUIntArray INT_PTR GetUpperBound() const;
CWordArray INT_PTR GetUpperBound() const;

Пример

CObList::CObList Список CAge классов, используемых во всех примерах коллекции, см. в разделе.

CObArray::InsertAt

Вставляет элемент (или все элементы в другом массиве) по указанному индексу.

Параметры

nCount
Количество раз, когда этот элемент должен быть вставлен (значение по умолчанию — 1).

pNewArray
Другой массив, содержащий элементы для добавления в этот массив.

Комментарии

Первая версия InsertAt вставляет один элемент (или несколько копий элемента) по указанному индексу в массиве. В процессе он смещается (путем увеличения индекса) существующего элемента в этом индексе и сдвигает все элементы над ним.

Вторая версия вставляет все элементы из другой CObArray коллекции, начиная с nStartIndex позиции.

SetAt Функция, напротив, заменяет один указанный элемент массива и не сдвигает ни одного элемента.

Класс Функция-член
CByteArray void InsertAt(INT_PTR nIndex, BYTE newElement, int nCount = 1);

void InsertAt(INT_PTR nStartIndex, CByteArray* pNewArray);

throw(CMemoryException*);

CDWordArray void InsertAt(INT_PTR nIndex, DWORD newElement, int nCount = 1);

void InsertAt(INT_PTR nStartIndex, CDWordArray* pNewArray);

throw(CMemoryException*);

CPtrArray void InsertAt(INT_PTR nIndex, void* newElement, int nCount = 1);

void InsertAt(INT_PTR nStartIndex, CPtrArray* pNewArray);

throw(CMemoryException*);

CStringArray void InsertAt(INT_PTR nIndex, LPCTSTR newElement, int nCount = 1);

void InsertAt(INT_PTR nStartIndex, CStringArray* pNewArray);

throw(CMemoryException*);

CUIntArray void InsertAt(INT_PTR nIndex, UINT newElement, int nCount = 1);

void InsertAt(INT_PTR nStartIndex, CUIntArray* pNewArray);

throw(CMemoryException*);

CWordArray void InsertAt(INT_PTR nIndex, WORD newElement, int nCount = 1);

void InsertAt(INT_PTR nStartIndex, CWordArray* pNewArray);

throw(CMemoryException*);

Пример

CObList::CObList Список CAge классов, используемых во всех примерах коллекции, см. в разделе.

Результаты этой программы выглядят следующим образом:

CObArray::IsEmpty

Определяет, пуст ли массив.

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

Ненулевое значение, если массив пуст; в противном случае — 0.

CObArray::operator [ ]

Эти операторы подстрочных индексов являются удобным заменой для SetAt GetAt функций и.

Комментарии

Отладочная версия библиотеки утверждает, находится ли индекс (в левой или правой части инструкции присваивания) вне границ.

Класс Оператор
CByteArray BYTE& operator [](INT_PTR nindex);

BYTE operator [](INT_PTR nindex) const;

CDWordArray DWORD& operator [](INT_PTR nindex);

DWORD operator [](INT_PTR nindex) const;

CPtrArray void*& operator [](INT_PTR nindex);

void* operator [](INT_PTR nindex) const;

CStringArray CString& operator [](INT_PTR nindex);

CString operator [](INT_PTR nindex) const;

CUIntArray UINT& operator [](INT_PTR nindex);

UINT operator [](INT_PTR nindex) const;

CWordArray WORD& operator [](INT_PTR nindex);

WORD operator [](INT_PTR nindex) const;

Пример

CObList::CObList Список CAge классов, используемых во всех примерах коллекции, см. в разделе.

CObArray::RemoveAll

Удаляет все указатели из этого массива, но фактически не удаляет CObject объекты.

Комментарии

Если массив уже пуст, функция продолжает работать.

RemoveAll Функция освобождает всю память, используемую для хранения указателя.

Класс Функция-член
CByteArray void RemoveAll();
CDWordArray void RemoveAll();
CPtrArray void RemoveAll();
CStringArray void RemoveAll();
CUIntArray void RemoveAll();
CWordArray void RemoveAll();

Пример

CObList::CObList Список CAge классов, используемых во всех примерах коллекции, см. в разделе.

CObArray::RemoveAt

Удаляет один или несколько элементов, начиная с указанного индекса в массиве.

Параметры

nCount
Число удаляемых элементов.

Комментарии

В процессе он сдвигает все элементы над удаленными элементами. Он уменьшает верхнюю границу массива, но не освобождает память.

Если попытаться удалить больше элементов, чем содержится в массиве над точкой удаления, то отладочная версия библиотеки будет утверждена.

RemoveAt Функция удаляет CObject указатель из массива, но сам объект не удаляется.

Класс Функция-член
CByteArray void RemoveAt(INT_PTR nIndex, INT_PTR nCount = 1);
CDWordArray void RemoveAt(INT_PTR nIndex, INT_PTR nCount = 1);
CPtrArray void RemoveAt(INT_PTR nIndex, INT_PTR nCount = 1);
CStringArray void RemoveAt(INT_PTR nIndex, INT_PTR nCount = 1);
CUIntArray void RemoveAt(INT_PTR nIndex, INT_PTR nCount = 1);
CWordArray void RemoveAt(INT_PTR nIndex, INT_PTR nCount = 1);

Пример

CObList::CObList Список CAge классов, используемых во всех примерах коллекции, см. в разделе.

Результаты этой программы выглядят следующим образом:

CObArray::SetAt

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

Параметры

newElement
Указатель на объект, вставляемый в этот массив. NULL Допустимое значение.

Комментарии

SetAt не приводит к увеличению размера массива. Используйте, SetAtGrow Если требуется, чтобы массив был автоматически расти.

Убедитесь, что значение индекса соответствует допустимой позиции в массиве. Если он выходит за пределы допустимого диапазона, отладочная версия библиотеки утверждается.

Класс Функция-член
CByteArray void SetAt(INT_PTR nIndex, BYTE newElement);
CDWordArray void SetAt(INT_PTR nIndex, DWORD newElement);
CPtrArray void SetAt(INT_PTR nIndex, void* newElement);
CStringArray void SetAt(INT_PTR nIndex, LPCTSTR newElement);
CUIntArray void SetAt(INT_PTR nIndex, UINT newElement);
CWordArray void SetAt(INT_PTR nIndex, WORD newElement);

Пример

CObList::CObList Список CAge классов, используемых во всех примерах коллекции, см. в разделе.

Результаты этой программы выглядят следующим образом:

CObArray::SetAtGrow

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

Параметры

nIndex
Целочисленный индекс, который больше или равен 0.

newElement
Указатель на объект, добавляемый в этот массив. NULL Допустимое значение.

Комментарии

При необходимости массив автоматически растет (то есть верхняя граница корректируется для размещения нового элемента).

Класс Функция-член
CByteArray void SetAtGrow(INT_PTR nIndex, BYTE newElement);

throw(CMemoryException*);

CDWordArray void SetAtGrow(INT_PTR nIndex, DWORD newElement);

throw(CMemoryException*);

CPtrArray void SetAtGrow(INT_PTR nIndex, void* newElement);

throw( CMemoryException*);

CStringArray void SetAtGrow(INT_PTR nIndex, LPCTSTR newElement);

throw(CMemoryException*);

CUIntArray void SetAtGrow(INT_PTR nIndex, UINT newElement);

throw(CMemoryException*);

CWordArray void SetAtGrow(INT_PTR nIndex, WORD newElement);

throw(CMemoryException*);

Пример

CObList::CObList Список CAge классов, используемых во всех примерах коллекции, см. в разделе.

Результаты этой программы выглядят следующим образом:

CObArray::SetSize

Устанавливает размер пустого или существующего массива. При необходимости выделяет память.

Параметры

nNewSize
Новый размер массива (число элементов). Должно быть больше или равно 0.

nGrowBy
Минимальное число слотов элементов для выделения при необходимости увеличения размера.

Комментарии

Если новый размер меньше старого, массив усекается и освобождается вся неиспользуемая память. Для повышения эффективности вызовите метод, SetSize чтобы задать размер массива перед его использованием. Это предотвращает необходимость перераспределения и копирования массива при каждом добавлении элемента.

Источник

Читайте также:  mndp протокол что это
Сказочный портал