Строение класса valarray. Операторы массивов значений

   
На этом шаге мы перечислим операторы, которые могут применяться к массивам значений.

   

Унарные операторы массивов значений имеют следующий формат:

  valarray valarray::унарный_оператор () const

Унарный оператор возвращает новый массив значений со всеми элементами *this, модифицированными оператором.

   
Параметр унарный оператор - один из следующих операторов:

  operator + 
  operator -
  operator ~
  operator !

   
Оператор ! возвращает тип valarray<bool>.

Бинарные операторы для массивов значений (кроме операторов сравнения и присваивания) имеют следующий формат:

  valarray бинарный_оператор (const valarray&. va1, const valarray& va2) 
  valarray бинарный_оператор (const valarray& va, const T& value) 
  valarray бинарный_оператор (const T& value, const valarray& va)

Операторы возвращают новый массив значений, размер которого соответствует размеру va, va1 или va2. Новый массив значений
содержит результат применения бинарного оператора к каждой паре значений.

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

   
Параметр бинарный_оператор - один из следующих операторов:

  operator + 
  operator -
  operator * 
  operator / 
  operator % 
  operator ^ 
  operator & 
  operator | 
  operator << 
  operator >>

   
Если va1 и va2 содержат разное количество элементов, результат не определен.

Логические операторы и операторы сравнения работают по той же схеме, но они возвращают массив значений с логическими элементами:

  valarray<bool> логический_оператор (const valarray& va1, const valarray& va2) 
  valarray<bool> логический_оператор (const valarray& va1, const T& value) 
  valarray<bool> логический_оператор (const T& value, const va1array& va)

Операторы возвращают новый массив значений, размер которого соответствует размеру va, va1 или va2. Новый массив значений
содержит результат применения логического оператора к каждой паре значений.

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

   
Параметр логический_оператор - один из следующих операторов:

  operator == 
  operator != 
  operator < 
  operator <= 
  operator > 
  operator >= 
  operator && 
  operator ||

   
Если va1 и va2 содержат разное количество элементов, результат операции не определен.

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

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



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

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