C++ Standard Library C++ STL Library

C++ <valarray> - operator^= Function



The C++ valarray::operator^= function is used to apply compound assignment operator (bitwise XOR and assignment operator) to each element of the valarray.

Syntax

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

Parameters

v Specify another valarray.
val Specify a value of type T.

Return Value

Returns the left hand side valarray object.

Time Complexity

Depends on library implementation.

Example:

In the example below, the valarray::operator^= function is used to perform bitwise XOR and assignment operation on each element of the given valarray.

#include <iostream>
#include <valarray>
using namespace std;
 
int main (){
  valarray<int> varr1 {10, 20, 30, 40};
  valarray<int> varr2 {5, 6, 7, 8};

  //result of varr1 ^ varr2 stored in varr1 
  varr1 ^= varr2;
  
  cout<<"varr1 contains: ";
  for(int i = 0; i < varr1.size(); i++)
    cout<<varr1[i]<<" ";

  //further performing bitwise XOR operation
  //on each elements of varr1 using val=3
  varr1 ^= 3;

  cout<<"\nvarr1 contains: ";
  for(int i = 0; i < varr1.size(); i++)
    cout<<varr1[i]<<" "; 
    
  return 0;
}

The output of the above code will be:

varr1 contains: 15 18 25 32 
varr1 contains: 12 17 26 35  

❮ C++ <valarray> Library