Namespaces
Variants

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

From cppreference.net
(Anmerkung: Der bereitgestellte HTML-Code enthält keinen übersetzbaren Text, da alle Tags leer sind oder nur Klassenattribute enthalten. Gemäß den Anforderungen wurden keine HTML-Tags, Attribute oder Code-Elemente übersetzt.)
Definiert im Header <complex>
(1)
template < class T >
bool operator == ( const complex < T > & lhs, const complex < T > & rhs ) ;
(bis C++14)
template < class T >
constexpr bool operator == ( const complex < T > & lhs, const complex < T > & rhs ) ;
(seit C++14)
(2)
template < class T >
bool operator == ( const complex < T > & lhs, const T & rhs ) ;
(bis C++14)
template < class T >
constexpr bool operator == ( const complex < T > & lhs, const T & rhs ) ;
(seit C++14)
(3)
template < class T >
bool operator == ( const T & lhs, const complex < T > & rhs ) ;
(bis C++14)
template < class T >
constexpr bool operator == ( const T & lhs, const complex < T > & rhs ) ;
(seit C++14)
(bis C++20)
(4)
template < class T >
bool operator ! = ( const complex < T > & lhs, const complex < T > & rhs ) ;
(bis C++14)
template < class T >
constexpr bool operator ! = ( const complex < T > & lhs, const complex < T > & rhs ) ;
(seit C++14)
(bis C++20)
(5)
template < class T >
bool operator ! = ( const complex < T > & lhs, const T & rhs ) ;
(bis C++14)
template < class T >
constexpr bool operator ! = ( const complex < T > & lhs, const T & rhs ) ;
(seit C++14)
(bis C++20)
(6)
template < class T >
bool operator ! = ( const T & lhs, const complex < T > & rhs ) ;
(bis C++14)
template < class T >
constexpr bool operator ! = ( const T & lhs, const complex < T > & rhs ) ;
(seit C++14)
(bis C++20)

Vergleicht zwei komplexe Zahlen. Skalare Argumente werden als komplexe Zahlen behandelt, bei denen der Realteil gleich dem Argument ist und der Imaginärteil auf null gesetzt wird.

1-3) Vergleicht lhs und rhs auf Gleichheit.
4-6) Vergleicht lhs und rhs auf Ungleichheit.

Der != -Operator wird synthetisiert aus operator== .

(seit C++20)

Parameter

lhs, rhs - die zu vergleichenden Argumente: entweder beide komplexe Zahlen oder eine komplexe Zahl und ein Skalar des passenden Typs ( float , double , long double )

Rückgabewert

1-3) true wenn die entsprechenden Teile von lhs gleich rhs sind, false andernfalls.
4-6) ! ( lhs == rhs )

Beispiel

#include <complex>
int main()
{
    using std::operator""i; // oder: using namespace std::complex_literals;
    static_assert(1.0i == 1.0i);
    static_assert(2.0i != 1.0i);
    constexpr std::complex z(1.0, 0.0);
    static_assert(z == 1.0);
    static_assert(1.0 == z);
    static_assert(2.0 != z);
    static_assert(z != 2.0);
}