Namespaces
Variants

Standard library header <complex>

From cppreference.net
Standard library headers

Dieser Header ist Teil der numeric Bibliothek.

Inhaltsverzeichnis

Klassen

Ein komplexer Zahlentyp
(Klassentemplate)

Funktionen

Operationen
wendet unäre Operatoren auf komplexe Zahlen an
(Funktionsschablone)
führt arithmetische Operationen für komplexe Zahlen an zwei komplexen Werten oder einem komplexen Wert und einem Skalar durch
(Funktionsschablone)
(entfernt in C++20)
vergleicht zwei komplexe Zahlen oder eine komplexe Zahl und einen Skalar
(Funktions-Template)
serialisiert und deserialisiert eine komplexe Zahl
(Funktionsschablone)
gibt den Realteil zurück
(Funktions-Template)
gibt den Imaginärteil zurück
(Funktionsschablone)
gibt den Betrag einer komplexen Zahl zurück
(Funktions-Template)
gibt den Phasenwinkel zurück
(Funktions-Template)
gibt die quadrierte Magnitude zurück
(Funktions-Template)
gibt die komplex Konjugierte zurück
(Funktions-Template)
(C++11)
gibt die Projektion auf die Riemannsche Zahlenkugel zurück
(Funktions-Template)
Erstellt eine komplexe Zahl aus Betrag und Phasenwinkel
(Funktionsschablone)
Exponentialfunktionen
Komplexe Exponentialfunktion zur Basis e
(Funktions-Template)
Komplexer natürlicher Logarithmus mit den Verzweigungsschnitten entlang der negativen reellen Achse
(Funktions-Template)
Komplexer dekadischer Logarithmus mit den Verzweigungsschnitten entlang der negativen reellen Achse
(Funktionstemplate)
Potenzfunktionen
Komplexe Potenz, ein oder beide Argumente können eine komplexe Zahl sein
(Funktions-Template)
Komplexe Quadratwurzel im Bereich der rechten Halbebene
(Funktions-Template)
Trigonometrische Funktionen
berechnet den Sinus einer komplexen Zahl ( sin(z) )
(Funktions-Template)
berechnet den Kosinus einer komplexen Zahl ( cos(z) )
(Funktions-Template)
berechnet den Tangens einer komplexen Zahl ( tan(z) )
(Funktionsschablone)
berechnet den Arkussinus einer komplexen Zahl ( arcsin(z) )
(Funktionsschablone)
berechnet den Arkuskosinus einer komplexen Zahl ( arccos(z) )
(Funktionsschablone)
berechnet den Arkustangens einer komplexen Zahl ( arctan(z) )
(Funktionsschablone)
Hyperbelfunktionen
berechnet den hyperbolischen Sinus einer komplexen Zahl ( sinh(z) )
(Funktions-Template)
berechnet den hyperbolischen Kosinus einer komplexen Zahl ( cosh(z) )
(Funktionsschablone)
berechnet den hyperbolischen Tangens einer komplexen Zahl ( tanh(z) )
(Funktions-Template)
berechnet den Flächenhyperbelsinus einer komplexen Zahl ( arsinh(z) )
(Funktionsschablone)
berechnet den Flächenhyperbelkosinus einer komplexen Zahl ( arcosh(z) )
(Funktionsschablone)
berechnet den Flächenhyperbeltangens einer komplexen Zahl ( artanh(z) )
(Funktionsschablone)
Literale
ein std::complex Literal, das eine rein imaginäre Zahl repräsentiert
(Funktion)

Übersicht

namespace std {
    template<class T> class complex;
    template<> class complex<float>;
    template<> class complex<double>;
    template<> class complex<long double>;
    // Operatoren:
    template<class T> constexpr complex<T> operator+(
        const complex<T>&, const complex<T>&);
    template<class T> constexpr complex<T> operator+(const complex<T>&, const T&);
    template<class T> constexpr complex<T> operator+(const T&, const complex<T>&);
    template<class T> constexpr complex<T> operator-(
        const complex<T>&, const complex<T>&);
    template<class T> constexpr complex<T> operator-(const complex<T>&, const T&);
    template<class T> constexpr complex<T> operator-(const T&, const complex<T>&);
    template<class T> constexpr complex<T> operator*(
        const complex<T>&, const complex<T>&);
    template<class T> constexpr complex<T> operator*(const complex<T>&, const T&);
    template<class T> constexpr complex<T> operator*(const T&, const complex<T>&);
    template<class T> constexpr complex<T> operator/(
        const complex<T>&, const complex<T>&);
    template<class T> constexpr complex<T> operator/(const complex<T>&, const T&);
    template<class T> constexpr complex<T> operator/(const T&, const complex<T>&);
    template<class T> constexpr complex<T> operator+(const complex<T>&);
    template<class T> constexpr complex<T> operator-(const complex<T>&);
    template<class T> constexpr bool operator==(const complex<T>&, const complex<T>&);
    template<class T> constexpr bool operator==(const complex<T>&, const T&);
    template<class T> constexpr bool operator==(const T&, const complex<T>&);
    template<class T> constexpr bool operator!=(const complex<T>&, const complex<T>&);
    template<class T> constexpr bool operator!=(const complex<T>&, const T&);
    template<class T> constexpr bool operator!=(const T&, const complex<T>&);
    template<class T, class CharT, class Traits>
    basic_istream<CharT, Traits>&
    operator>>(basic_istream<CharT, Traits>&, complex<T>&);
    template<class T, class CharT, class Traits>
    basic_ostream<CharT, Traits>&
    operator<<(basic_ostream<CharT, Traits>&, const complex<T>&);
    // Werte:
    template<class T> constexpr T real(const complex<T>&);
    template<class T> constexpr T imag(const complex<T>&);
    template<class T> T abs(const complex<T>&);
    template<class T> T arg(const complex<T>&);
    template<class T> constexpr T norm(const complex<T>&);
    template<class T> constexpr complex<T> conj(const complex<T>&);
    template<class T> complex<T> proj(const complex<T>&);
    template<class T> complex<T> polar(const T&, const T& = 0);
    // Transzendentale Funktionen:
    template<class T> complex<T> acos(const complex<T>&);
    template<class T> complex<T> asin(const complex<T>&);
    template<class T> complex<T> atan(const complex<T>&);
    template<class T> complex<T> acosh(const complex<T>&);
    template<class T> complex<T> asinh(const complex<T>&);
    template<class T> complex<T> atanh(const complex<T>&);
    template<class T> complex<T> cos  (const complex<T>&);
    template<class T> complex<T> cosh (const complex<T>&);
    template<class T> complex<T> exp  (const complex<T>&);
    template<class T> complex<T> log  (const complex<T>&);
    template<class T> complex<T> log10(const complex<T>&);
    template<class T> complex<T> pow(const complex<T>&, const T&);
    template<class T> complex<T> pow(const complex<T>&, const complex<T>&);
    template<class T> complex<T> pow(const T&, const complex<T>&);
    template<class T> complex<T> sin (const complex<T>&);
    template<class T> complex<T> sinh(const complex<T>&);
    template<class T> complex<T> sqrt(const complex<T>&);
    template<class T> complex<T> tan (const complex<T>&);
    template<class T> complex<T> tanh(const complex<T>&);
    // Tupel-Schnittstelle:
    template<class T> struct tuple_size;
    template<size_t I, class T> struct tuple_element;
    template<class T> struct tuple_size<complex<T>>;
    template<size_t I, class T> struct tuple_element<I, complex<T>>;
    template<size_t I, class T>
      constexpr T& get(complex<T>&) noexcept;
    template<size_t I, class T>
      constexpr T&& get(complex<T>&&) noexcept;
    template<size_t I, class T>
      constexpr const T& get(const complex<T>&) noexcept;
    template<size_t I, class T>
      constexpr const T&& get(const complex<T>&&) noexcept;
    // komplexe Literale:
    inline namespace literals {
        inline namespace complex_literals {
            constexpr complex<long double> operator""il(long double);
            constexpr complex<long double> operator""il(unsigned long long);
            constexpr complex<double> operator""i(long double);
            constexpr complex<double> operator""i(unsigned long long);
            constexpr complex<float> operator""if(long double);
            constexpr complex<float> operator""if(unsigned long long);
        }
    }
}

Klasse std::complex

template<class T>
class complex {
public:
    typedef T value_type;
    constexpr complex(const T& re = T(), const T& im = T());
    constexpr complex(const complex&) = default;
    template<class X> constexpr explicit(/* siehe Konstruktor-Seite */)
        complex(const complex<X>&);
    constexpr T real() const;
    constexpr void real(T);
    constexpr T imag() const;
    constexpr void imag(T);
    constexpr complex<T>& operator= (const T&);
    constexpr complex<T>& operator+=(const T&);
    constexpr complex<T>& operator-=(const T&);
    constexpr complex<T>& operator*=(const T&);
    constexpr complex<T>& operator/=(const T&);
    constexpr complex& operator=(const complex&);
    template<class X> constexpr complex<T>& operator= (const complex<X>&);
    template<class X> constexpr complex<T>& operator+=(const complex<X>&);
    template<class X> constexpr complex<T>& operator-=(const complex<X>&);
    template<class X> constexpr complex<T>& operator*=(const complex<X>&);
    template<class X> constexpr complex<T>& operator/=(const complex<X>&);
};

Fehlerberichte

Die folgenden verhaltensändernden Fehlerberichte wurden rückwirkend auf zuvor veröffentlichte C++-Standards angewendet.

DR Angewendet auf Verhalten wie veröffentlicht Korrektes Verhalten
LWG 79 C++98 der Standardargument des zweiten Parameters
von polar fehlte in der Synopsis
hinzugefügt