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


The C++ function bool operator <=() compares two array container elements sequentially. 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 of same size and type.

Return Value

Returns true if first array container is less or equal to the second container otherwise false.


This function never throws exception.

Time complexity

Linear i.e. O(n)


The following example shows the usage of bool operator<=() function.

#include <iostream>
#include <array>

using namespace std;

int main(void) {

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

   result = (arr1 < arr2);

   if (result == true)
      cout << "arr1 is less than or equal to arr2\n";
      cout << "arr2 is not less that or equal to arr1\n";

   result = (arr1 < arr3);

   if (result == false)
      cout << "arr1 is not less than or equal to arr3\n";
      cout << "arr1 is less than or equal to arr3\n";

   return 0;


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

arr1 is less than or equal to arr2
arr1 is not less than or equal to arr3