Namespaces
Variants

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

From cppreference.net
Défini dans l'en-tête <complex>
(1)
template < class T >
bool operator == ( const complex < T > & lhs, const complex < T > & rhs ) ;
(jusqu'à C++14)
template < class T >
constexpr bool operator == ( const complex < T > & lhs, const complex < T > & rhs ) ;
(depuis C++14)
(2)
template < class T >
bool operator == ( const complex < T > & lhs, const T & rhs ) ;
(jusqu'à C++14)
template < class T >
constexpr bool operator == ( const complex < T > & lhs, const T & rhs ) ;
(depuis C++14)
(3)
template < class T >
bool operator == ( const T & lhs, const complex < T > & rhs ) ;
(jusqu'à C++14)
template < class T >
constexpr bool operator == ( const T & lhs, const complex < T > & rhs ) ;
(depuis C++14)
(jusqu'à C++20)
(4)
template < class T >
bool operator ! = ( const complex < T > & lhs, const complex < T > & rhs ) ;
(jusqu'à C++14)
template < class T >
constexpr bool operator ! = ( const complex < T > & lhs, const complex < T > & rhs ) ;
(depuis C++14)
(jusqu'à C++20)
(5)
template < class T >
bool operator ! = ( const complex < T > & lhs, const T & rhs ) ;
(jusqu'à C++14)
template < class T >
constexpr bool operator ! = ( const complex < T > & lhs, const T & rhs ) ;
(depuis C++14)
(jusqu'à C++20)
(6)
template < class T >
bool operator ! = ( const T & lhs, const complex < T > & rhs ) ;
(jusqu'à C++14)
template < class T >
constexpr bool operator ! = ( const T & lhs, const complex < T > & rhs ) ;
(depuis C++14)
(jusqu'à C++20)

Compare deux nombres complexes. Les arguments scalaires sont traités comme des nombres complexes dont la partie réelle est égale à l'argument et la partie imaginaire est fixée à zéro.

1-3) Compare lhs et rhs pour l'égalité.
4-6) Compare lhs et rhs pour l'inégalité.

L'opérateur != est synthétisé à partir de operator== .

(depuis C++20)

Paramètres

lhs, rhs - les arguments à comparer : soit deux nombres complexes, soit un nombre complexe et un scalaire de type correspondant ( float , double , long double )

Valeur de retour

1-3) true si les parties respectives de lhs sont égales à rhs , false sinon.
4-6) ! ( lhs == rhs )

Exemple

#include <complex>
int main()
{
    using std::operator""i; // ou : 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);
}