C++ 参考手册

位置:首页 > C++ 参考手册 >数值库 >std::valarray > std::valarray<T>::operator+=,-=,*=,/=,%=,&=,|=,<<=,>>=

valarray<T> operator+=( const valarray<T>& v );

valarray<T> operator-=( const valarray<T>& v );
valarray<T> operator*=( const valarray<T>& v );
valarray<T> operator/=( const valarray<T>& v );
valarray<T> operator%=( const valarray<T>& v );
valarray<T> operator&=( const valarray<T>& v );
valarray<T> operator|=( const valarray<T>& v );
valarray<T> operator^=( const valarray<T>& v );
valarray<T> operator<<=( const valarray<T>& v );

valarray<T> operator>>=( const valarray<T>& v );
(1)
valarray<T> operator+=( const T& val );

valarray<T> operator-=( const T& val );
valarray<T> operator*=( const T& val );
valarray<T> operator/=( const T& val );
valarray<T> operator%=( const T& val );
valarray<T> operator&=( const T& val );
valarray<T> operator|=( const T& val );
valarray<T> operator^=( const T& val );
valarray<T> operator<<=( const T& val );

valarray<T> operator>>=( const T& val );
(2)

应用复合赋值运算符到数值数组中的每个元素。

1) 将以应用对应运算符到每个元素先前值和来自 v 的对应元素所获得的值,赋值给每个元素。

size() != v.size() 则行为未定义

若任何 v 中的值在赋值过程中计算并依赖任何 *this 中的值,即赋值右侧的表达式引用到赋值左侧的变量,则行为未定义。

2) 将以应用对应运算符到每个元素先前值和 val 的值所获得的值,赋值给每个元素。

参数

v - 另一个数值数组
val - 一个值

返回值

*this

异常

(无)

注意

仅若满足下列条件,才能实例化各个运算符:

  • 所指示的运算符可应用于类型 T
  • 返回值可以无歧义地转换为 T (1-3) 或 bool (4) 。

函数能以不同于 std::valarray 的返回类型实现。此情况下,替换类型拥有下列属性: