Строение класса valarray. Функции класса

   
На этом шаге мы перечислим функции, которые описаны в этом классе.

   
Класс valarray определяет следующие функции.

  size_t <I>valarray</I>::size () const

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

  void valarray::resize (size_t num)
  void valarray::resize (size_t num, Т value)

Обе формы изменяют размер массива значений до величины num.

   
При увеличении размера новые элементы инициализируются конструктором по умолчанию или значением value соответственно.

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

   
Функции поддерживаются только для создания массивов, элементами которых являются массивы значений. После создания массива значений
конструктором по умолчанию следует задать его правильный размер вызовом resize().

  Т valarray::min () const 
  Т valarray::max () const

Первая форма возвращает минимальное значение среди элементов массива значений.

   
Вторая форма возвращает максимальное значение среди элементов массива значений.

   
Элементы сравниваются операторами < и >, поэтому эти операторы должны быть определены для типа элементов.

   
Если массив значений не содержит элементов, то возвращаемые значения не определены.

  Т valarray::sum () const

Возвращает сумму всех элементов.

   
Элементы обрабатываются оператором += , поэтому этот оператор должен быть определен для типа элементов.

   
Если массив значений не содержит ни одного элемента, то возвращаемое значение не определено.

  valarray valarray::shift (int num) const

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

   
Возвращаемый массив значений содержит то же количество элементов.

   
Элементы в позициях, освободившихся в результате сдвига, инициализируются конструктором по умолчанию.

   
Направление сдвига зависит от знака num:

  • если значение num положительно, элементы сдвигаются влево/вперед (с уменьшением индекса);
  • если значение num отрицательно, элементы сдвигаются вправо/назад (с увеличением индекса).
  valarray valarray::cshift (int num) const

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

   
Возвращаемый массив значений содержит то же количество элементов.

   
Направление сдвига зависит от знака num:

  • если значение num положительно, элементы сдвигаются влево/вперед (с уменьшением индекса или вставкой элемента в конце);
  • если значение num отрицательно, элементы сдвигаются вправо/назад (с увеличением индекса или вставкой элемента в начале).
  valarray valarray::apply (T op(T)) const 
  valarray valarray::apply (T op(const T&)) const

Обе формы возвращают новый массив значений с элементами, обработанными предикатом ор().

   
Возвращаемый массив значений содержит то же количество элементов.

   
Для каждого элемента *this вызывается предикат op(elem), а соответствующий элемент возвращаемого массива инициализируется
результатом вызова.

   
На следующем шаге мы рассмотрим обращение к элементам.



Вы можете оставить комментарий, или Трекбэк с вашего сайта.

Оставить комментарий