C++ vector::operator==() Function



The C++ vector::operator==() function is used to test whether the two vectors are equal or not and returns the true if the vector match, or else returns false. Operator== first checks the size of both container, if sizes are same then it compares elements sequentially and comparison stops at first mismatch. This member function never throw an exception and the time complexity of the operator==() function is linear.

Syntax

Following is the syntax for C++ vector::operator==() Function −

template <class T, class Alloc>
bool operator== (const vector<T,Alloc>& lhs, const vector<T,Alloc>& rhs);

Parameters

  • lhs − It indicates the first ector
  • rhs − It indicates the second vector

Example 1

Let's consider the following example, where we are going to use the opertor==() function.

#include <iostream>
#include <vector>
using namespace std;

int main(){
   using namespace std;   
   vector <int> myvector1{11,22,33,44,55};
   vector <int> myvector2{11,22,33,44,55};
   if(myvector1==myvector2)
      cout <<"Equal";
   else
      cout <<"UnEqual";
}

Output

When we compile and run the above program, this will produce the following result −

Equal

Example 2

Considering the another scenario, where we are going to compare non equal containers.

#include <iostream>
#include <vector>

int main(){
   using namespace std;   
   vector<int> myvector1{11,22,33,44};
   vector<int> myvector2{111,222,33,44};
   if(myvector1==myvector2)
      cout<<"True";
   else
      cout<<"False";
}

Output

On running the above program, it will produce the following result −

False

Example 3

In the following example, we are going to push_back() function to insert the values and checked whether the values matched or not.

#include <iostream>
#include <vector>

int main(){
   using namespace std;   
   std::vector<string> myvector1;
   std::vector<string> myvector2;
   myvector1.push_back("RX100");
   myvector1.push_back("Q7");
   myvector1.push_back("MAYBACH GLS");
   myvector2.push_back("RX100");
   myvector2.push_back("Q7");
   myvector2.push_back("MAYBACH GLS");
   if (std::equal(myvector1.begin(), myvector1.end(), myvector2.begin()))
      std::cout << "Same" << std::endl;
   else
      std::cout << "Not Same" << std::endl;
}  

Output

When we execute the above program, it will produce the following result −

Same
Advertisements