operator==,!=(std::complex)

From cppreference.com
Defined in header <complex>
template< class T >
bool operator==( const complex<T>& lhs, const complex<T>& rhs);
(1)
template< class T >
bool operator==( const complex<T>& lhs, const T& rhs);
(2)
template< class T >
bool operator==( const T& lhs, const complex<T>& rhs);
(3)
template< class T >
bool operator!=( const complex<T>& lhs, const complex<T>& rhs);
(4)
template< class T >
bool operator!=( const complex<T>& lhs, const T& rhs);
(5)
template< class T >
bool operator!=( const T& lhs, const complex<T>& rhs);
(6)

Compares two complex numbers. Scalar arguments are treated as complex numbers with the real part equal to the argument and the imaginary part set to zero.

1-3) Compares lhs and rhs for equality.
4-6) Compares lhs and rhs for inequality.

[edit] Parameters

lhs, rhs - the arguments to compare: either both complex numbers or one complex and one scalar of matching type (float, double, long double)

[edit] Return value

1-3) true if respective parts of lhs are equal to rhs, false otherwise.
4-6) !(lhs == rhs)