
- C++ Library - Home
- C++ Library - <fstream>
- C++ Library - <iomanip>
- C++ Library - <ios>
- C++ Library - <iosfwd>
- C++ Library - <iostream>
- C++ Library - <istream>
- C++ Library - <ostream>
- C++ Library - <sstream>
- C++ Library - <streambuf>
- C++ Library - <atomic>
- C++ Library - <complex>
- C++ Library - <exception>
- C++ Library - <functional>
- C++ Library - <limits>
- C++ Library - <locale>
- C++ Library - <memory>
- C++ Library - <new>
- C++ Library - <numeric>
- C++ Library - <regex>
- C++ Library - <stdexcept>
- C++ Library - <string>
- C++ Library - <thread>
- C++ Library - <tuple>
- C++ Library - <typeinfo>
- C++ Library - <utility>
- C++ Library - <valarray>
- The C++ STL Library
- C++ Library - <array>
- C++ Library - <bitset>
- C++ Library - <deque>
- C++ Library - <forward_list>
- C++ Library - <list>
- C++ Library - <map>
- C++ Library - <multimap>
- C++ Library - <queue>
- C++ Library - <priority_queue>
- C++ Library - <set>
- C++ Library - <stack>
- C++ Library - <unordered_map>
- C++ Library - <unordered_set>
- C++ Library - <vector>
- C++ Library - <algorithm>
- C++ Library - <iterator>
- The C++ Advanced Library
- C++ Library - <any>
- C++ Library - <barrier>
- C++ Library - <bit>
- C++ Library - <chrono>
- C++ Library - <cinttypes>
- C++ Library - <clocale>
- C++ Library - <condition_variable>
- C++ Library - <coroutine>
- C++ Library - <cstdlib>
- C++ Library - <cstring>
- C++ Library - <cuchar>
- C++ Library - <charconv>
- C++ Library - <cfenv>
- C++ Library - <cmath>
- C++ Library - <ccomplex>
- C++ Library - <expected>
- C++ Library - <format>
- C++ Library - <future>
- C++ Library - <flat_set>
- C++ Library - <flat_map>
- C++ Library - <filesystem>
- C++ Library - <generator>
- C++ Library - <initializer_list>
- C++ Library - <latch>
- C++ Library - <memory_resource>
- C++ Library - <mutex>
- C++ Library - <mdspan>
- C++ Library - <optional>
- C++ Library - <print>
- C++ Library - <ratio>
- C++ Library - <scoped_allocator>
- C++ Library - <semaphore>
- C++ Library - <source_location>
- C++ Library - <span>
- C++ Library - <spanstream>
- C++ Library - <stacktrace>
- C++ Library - <stop_token>
- C++ Library - <syncstream>
- C++ Library - <system_error>
- C++ Library - <string_view>
- C++ Library - <stdatomic>
- C++ Library - <variant>
- C++ STL Library Cheat Sheet
- C++ STL - Cheat Sheet
- C++ Programming Resources
- C++ Programming Tutorial
- C++ Useful Resources
- C++ Discussion
C++ Array::operator==() Function
The C++ operator==() function is used to compare two array objects for equality. It checks whether the arrays have the same size and if all corresponding elements are equal. This function returns true if both the conditions are met, otherwise it returns false.
Syntax
Following is the syntax for std::array::operator==() function.
bool operator== ( const array<T,N>& lhs, const array<T,N>& rhs );
Parameters
- lhs, rhs − It indicates the array containers.
Return Value
It returns true if array containers are identical otherwise false.
Exceptions
This function never throws exception.
Time complexity
Linear i.e. O(n)
Example 1
In the following example, we are going to consider the basic usage of the operator==() function.
#include <iostream> #include <array> int main() { std::array < int, 3 > x = {11,22,33}; std::array < int, 3 > y = {11,22,33}; if (x == y) { std::cout << "Arrays are equal." << std::endl; } else { std::cout << "Arrays are not equal." << std::endl; } return 0; }
Output
Output of the above code is as follows −
Arrays are equal.
Example 2
Consider the following example, where we are going to compare the two arrays of different values.
#include <iostream> #include <array> int main() { std::array < int, 3 > a = {11,22,33}; std::array < int, 3 > b = {66,88,22}; if (a == b) { std::cout << "Arrays are equal" << std::endl; } else { std::cout << "Arrays are not equal" << std::endl; } return 0; }
Output
Following is the output of the above code −
Arrays are not equal
Example 3
Let's look at the following example, where we are going to compare the arrays of different sizes and observing the output.
#include <iostream> #include <array> int main() { std::array < int, 2 > x = {1,2}; std::array < int, 3 > y = {2,3,4}; if (x == y) { std::cout << "Arrays are equal" << std::endl; } else { std::cout << "Arrays are not equal" << std::endl; } return 0; }
Output
If we run the above code it will generate the following output −
main.cpp: In function 'int main()': main.cpp:6:11: error: no match for 'operator==' (operand types are 'std::array<int, 2>' and 'std::array<int, 3>')