C++ Array Library - operator==() Function


The C++ function bool operator== compares two array container elements sequentially. It uses equal algorithms for comparision. Comparision stops at first mismatch or when container elements are exhuasted. For comparision size and data type of both container must be same otherwise compiler will report compilation error.


Following is the declaration for bool operator== function form std::array header.

template <class T, size_t N>
   bool operator== ( const array<T,N>& arr1, const array<T,N>& arr2 );


arr1 and arr2 − Two array containers

Return Value

Returns true if array containers are identical otherwise false.


This function never throws exception.

Time complexity

Linear i.e. O(n)


The following example shows the usage of std::array::operator==() function.

#include <array>
#include <iostream>

using namespace std;

int main(void) {

   array<int, 5> arr1 = {1, 2, 3, 4, 5};
   array<int, 5> arr2 = {1, 2, 3, 4, 5};
   array<int, 5> arr3 = {1, 2, 4, 5, 3};
   bool result = false;

   result = (arr1 == arr2);

   if (result == true)
      cout << "arr1 and arr2 are equal\n";
      cout << "arr1 and arr2 are not equal\n";

   result = (arr2 == arr3);
   if (result == false)
      cout << "arr2 and arr3 are not equal\n";
      cout << "arr2 and arr3 are equal\n";

   return 0;

Let us compile and run the above program, this will produce the following result −

arr1 and arr2 are equal
arr2 and arr3 are not equal