Namensräume
Varianten
Aktionen

std::isgreater

Von cppreference.com
< cpp‎ | numeric‎ | math
 
 
 
 
Definiert in der Header-Datei <cmath>
(1)
bool isgreater( float x, float y );

bool isgreater( double x, double y );

bool isgreater( long double x, long double y );
(seit C++11)
(bis C++23)
constexpr bool isgreater( /* Gleitkommatyp */ x,
                          /* floating-point-type */ y );
(seit C++23)
Definiert in der Header-Datei <cmath>
template< class Arithmetic1, class Arithmetic2 >
bool isgreater( Arithmetic1 x, Arithmetic2 y );
(A) (seit C++11)
(constexpr seit C++23)
1) Stellt fest, ob die Gleitkommazahl x größer ist als die Gleitkommazahl y, ohne Gleitkomma-Ausnahmen zu setzen. Die Bibliothek stellt Überladungen für alle cv-unqualifizierten Gleitkommatypen als Typ der Parameter x und y bereit.(seit C++23)
A) Zusätzliche Überladungen werden für alle anderen Kombinationen von arithmetischen Typen bereitgestellt.

Inhalt

[bearbeiten] Parameter

x, y - Gleitkomma- oder Ganzzahlwerte

[bearbeiten] Rückgabewert

true, wenn x > y, andernfalls false.

[bearbeiten] Anmerkungen

Der eingebaute operator> für Gleitkommazahlen kann FE_INVALID setzen, wenn eines oder beide Argumente NaN sind. Diese Funktion ist eine "ruhige" Version des operator>.

Die zusätzlichen Überladungen müssen nicht exakt wie (A) angegeben werden. Sie müssen nur ausreichen, um sicherzustellen, dass für ihr erstes Argument num1 und ihr zweites Argument num2

  • Wenn num1 oder num2 vom Typ long double ist, hat std::isgreater(num1, num2) die gleiche Wirkung wie std::isgreater(static_cast<long double>(num1),
                   static_cast<long double>(num2))
    .
  • Andernfalls, wenn num1 und/oder num2 vom Typ double oder einem ganzzahligen Typ ist, hat std::isgreater(num1, num2) die gleiche Wirkung wie std::isgreater(static_cast<double>(num1),
                   static_cast<double>(num2))
    .
  • Andernfalls, wenn num1 oder num2 vom Typ float ist, hat std::isgreater(num1, num2) die gleiche Wirkung wie std::isgreater(static_cast<float>(num1),
                   static_cast<float>(num2))
    .
(bis C++23)

Wenn num1 und num2 arithmetische Typen haben, hat std::isgreater(num1, num2) die gleiche Wirkung wie std::isgreater(static_cast</*gemeinsamer-gleitkomma-typ*/>(num1),
               static_cast</*gemeinsamer-gleitkomma-typ*/>(num2))
, wobei /*gemeinsamer-gleitkomma-typ*/ der Gleitkommatyp mit dem höchsten Konvertierungsrang für Gleitkommazahlen und dem höchsten Subrang der Konvertierung von Gleitkommazahlen zwischen den Typen von num1 und num2 ist. Argumente vom ganzzahligen Typ werden als Gleitkomma-Konvertierungsrang wie double betrachtet.

Wenn kein solcher Gleitkommazahltyp mit dem höchsten Rang und Subrang existiert, dann führt die Überladungsauflösung nicht zu einem nutzbaren Kandidaten aus den bereitgestellten Überladungen.

(seit C++23)

[bearbeiten] Siehe auch

Funktions-Objekt, das x > y implementiert
(Klassen-Template) [bearbeiten]
(C++11)
prüft, ob das erste Gleitkommaargument kleiner ist als das zweite
(Funktion) [bearbeiten]
C-Dokumentation für isgreater