Главная arrow Программирование С++ arrow Подробно о классе RangeArray

Подробно о классе RangeArray

Как и у всех встроенных в библиотеку STL последовательных контейнеров, описание класса RangeArray начинается со спецификации шаблона: template<class Т, class Allocator = allocator<T> >
т — тип данных, хранящихся в контейнере, a Allocator — стандартный, Установленный по умолчанию распределитель памяти.
Члены класса с уровнем доступа private
Описание массива класса RangeArray начинается со следующих объявлений со спецификацией private:
T *arraypcr; // указатель на базовый массив контейнера
unsigned len;     // хранит длину контейнера int upperbound; // нижняя граница int lowerbound; // верхняя граница
Allocator а; // распределитель памяти
Указатель arrayptr хранит ссылку на участок памяти, который будет содержать массив элементов типа т. В этом фрагменте памяти разместятся элементы, входящие в состав объекта типа RangeArray. Описанный массив индексируется как обычно, с отсчетом от нуля. Индексы объекта RangeArray будут преобразовываться в индексы массива с отсчетом от нуля, на который ссылается указатель arrayptr.
Текущая длина объекта RangeArray хранится в поле len. Верхняя и нижняя границы — в полях upperbound и lowerbound соответственно. При описании класса RangeArray ноль считается положительной величиной. Распределитель памяти для контейнера запоминается в поле а.