クラス valarray は、演算子 operator*=、operator/=、operator%=、operator+=、operator-=、operator^=、operator&=、operator|=、operator<<=、operator>>= を 2 つの異なるバージョンで提供します。それぞれの演算子について、最初のバージョンは valarray 参照を、第 2 のバージョンは T& を使用します。各演算の最初のバージョンは、その演算を self の対応する要素と valarray 引数に適用します。第 2 のバージョンは、その演算を T& 引数を使用する self のすべての要素に適用します。以下に例を挙げます。
valarray<long> v1(1,3) ; // v1 = {1,1,1} valarray<long> v2(2,3); // v2 = {2,2,2} v1 += v2; // v1 = {3,3,3} v2 += 2; // v2 = {4,4,4}