Namespaces
Variants

Standard library header <cfenv> (C++11)

From cppreference.net
Standard library headers

Dieser Header war ursprünglich in der C-Standardbibliothek als <fenv.h> enthalten.

Dieser Header ist Teil der Gleitkommaumgebung -Bibliothek.

Inhaltsverzeichnis

Typen

fenv_t
(C++11)
der Typ, der die gesamte Gleitkommaumgebung repräsentiert
(typedef)
fexcept_t
(C++11)
der Typ, der alle Gleitkomma-Statusflags gemeinsam repräsentiert
(typedef)

Funktionen

löscht die angegebenen Gleitkomma-Statusflags
(Funktion)
bestimmt, welche der angegebenen Gleitkomma-Statusflags gesetzt sind
(Funktion)
löst die angegebenen Gleitkomma-Ausnahmen aus
(Funktion)
kopiert den Zustand der angegebenen Gleitkomma-Statusflags von oder zur Gleitkomma-Umgebung
(Funktion)
(C++11) (C++11)
ruft die Rundungsrichtung ab oder legt sie fest
(Funktion)
speichert oder stellt die aktuelle Gleitkomma-Umgebung wieder her
(Funktion)
speichert die Umgebung, löscht alle Statusflags und ignoriert alle zukünftigen Fehler
(Funktion)
stellt die Gleitkomma-Umgebung wieder her und löst die zuvor ausgelösten Ausnahmen aus
(Funktion)

Makros

Gleitkomma-Ausnahmen
(Makrokonstante)
Gleitkomma-Rundungsrichtung
(Makrokonstante)
(C++11)
Standard-Gleitkomma-Umgebung
(Makrokonstante)

Übersicht

#define FE_ALL_EXCEPT /* siehe Beschreibung */
#define FE_DIVBYZERO /* siehe Beschreibung */    // optional
#define FE_INEXACT /* siehe Beschreibung */      // optional
#define FE_INVALID /* siehe Beschreibung */      // optional
#define FE_OVERFLOW /* siehe Beschreibung */     // optional
#define FE_UNDERFLOW /* siehe Beschreibung */    // optional
#define FE_DOWNWARD /* siehe Beschreibung */     // optional
#define FE_TONEAREST /* siehe Beschreibung */    // optional
#define FE_TOWARDZERO /* siehe Beschreibung */   // optional
#define FE_UPWARD /* siehe Beschreibung */       // optional
#define FE_DFL_ENV /* siehe Beschreibung */
namespace std {
    // Typen
    using fenv_t    = /* Objekttyp */;
    using fexcept_t = /* Objekttyp */;
    // Funktionen
    int feclearexcept(int except);
    int fegetexceptflag(fexcept_t* pflag, int except);
    int feraiseexcept(int except);
    int fesetexceptflag(const fexcept_t* pflag, int except);
    int fetestexcept(int except);
    int fegetround(void);
    int fesetround(int mode);
    int fegetenv(fenv_t* penv);
    int feholdexcept(fenv_t* penv);
    int fesetenv(const fenv_t* penv);
    int feupdateenv(const fenv_t* penv);
}

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 3905 C++11 std::fexcept_t muss ein Ganzzahltyp sein es ist ein Objekttyp