operator==,!=,<,<=,>,>=(std::array)

来自cppreference.com
< cpp‎ | container‎ | array
(1)
template< class T, std::size_t N >

bool operator==( const std::array<T, N>& lhs,

                 const std::array<T, N>& rhs );
(C++20 前)
template< class T, std::size_t N >

constexpr bool operator==( const std::array<T, N>& lhs,

                           const std::array<T, N>& rhs );
(C++20 起)
(2)
template< class T, std::size_t N >

bool operator!=( const std::array<T, N>& lhs,

                 const std::array<T, N>& rhs );
(C++20 前)
template< class T, std::size_t N >

constexpr bool operator!=( const std::array<T, N>& lhs,

                           const std::array<T, N>& rhs );
(C++20 起)
(3)
template< class T, std::size_t N >

bool operator<( const std::array<T, N>& lhs,

                const std::array<T, N>& rhs );
(C++20 前)
template< class T, std::size_t N >

constexpr bool operator<( const std::array<T, N>& lhs,

                          const std::array<T, N>& rhs );
(C++20 起)
(4)
template< class T, std::size_t N >

bool operator<=( const std::array<T, N>& lhs,

                 const std::array<T, N>& rhs );
(C++20 前)
template< class T, std::size_t N >

constexpr bool operator<=( const std::array<T, N>& lhs,

                           const std::array<T, N>& rhs );
(C++20 起)
(5)
template< class T, std::size_t N >

bool operator>( const std::array<T, N>& lhs,

                const std::array<T, N>& rhs );
(C++20 前)
template< class T, std::size_t N >

constexpr bool operator>( const std::array<T, N>& lhs,

                          const std::array<T, N>& rhs );
(C++20 起)
(6)
template< class T, std::size_t N >

bool operator>=( const std::array<T, N>& lhs,

                 const std::array<T, N>& rhs );
(C++20 前)
template< class T, std::size_t N >

constexpr bool operator>=( const std::array<T, N>& lhs,

                           const std::array<T, N>& rhs );
(C++20 起)

比较二个 array 的内容。

1-2) 检查 lhsrhs 的内容是否相等,即 lhs 中的每个元素是否与 rhs 中同一位置的元素比较相等。
3-6) 按字典序比较 lhsrhs 的内容。由等价于 std::lexicographical_compare 的函数进行比较。

[编辑] 参数

lhs, rhs - 要比较内容的容器
-
为使用重载 (1-2) , T 必须满足可相等比较 (EqualityComparable) 的要求。
-
为使用重载 (3-6) , T 必须满足可小于比较 (LessThanComparable) 的要求。顺序关系必须建立全序。

[编辑] 返回值

1) 若容器内容相等则为 true ,否则为 false
2) 若容器的内容不相等则为 true ,否则为 false
3)lhs 的内容按字典序小于 rhs 的内容则为 true ,否则为 false
4)lhs 的内容按字典序小于等于 rhs 的内容则为 true ,否则为 false
5)lhs 的内容按字典序大于 rhs 的内容则为 true ,否则为 false
6)lhs 的内容按字典序大于等于 rhs 的内容则为 true ,否则为 false

[编辑] 复杂度

与容器大小成线性。