std::isunordered
| Definiert in der Header-Datei <cmath> |
||
| (1) | ||
bool isunordered( float x, float y ); bool isunordered( double x, double y ); |
(seit C++11) (bis C++23) |
|
| constexpr bool isunordered( /* floating-point-type */ x, /* floating-point-type */ y ); |
(seit C++23) | |
| Definiert in der Header-Datei <cmath> |
||
| template< class Arithmetic1, class Arithmetic2 > bool isunordered( Arithmetic1 x, Arithmetic2 y ); |
(A) | (seit C++11) (constexpr seit C++23) |
Inhalt |
[bearbeiten] Parameter
| x, y | - | Gleitkomma- oder Ganzzahlwerte |
[bearbeiten] Rückgabewert
true, wenn entweder x oder y NaN ist, false andernfalls.
[bearbeiten] Anmerkungen
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
|
(bis C++23) |
|
Wenn num1 und num2 arithmetische Typen haben, hat std::isunordered(num1, num2) denselben Effekt wie std::isunordered(static_cast</*gemeinsamer-gleitkomma-typ*/>(num1), 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] Beispiel
#include <cmath> #include <iostream> #define SHOW_UNORDERED(x, y) \ std::cout << std::boolalpha << "isunordered(" \ << #x << ", " << #y << "): " \ << std::isunordered(x, y) << '\n' int main() { SHOW_UNORDERED(10, 01); SHOW_UNORDERED(INFINITY, NAN); SHOW_UNORDERED(INFINITY, INFINITY); SHOW_UNORDERED(NAN, NAN); }
Ausgabe
isunordered(10, 01): false isunordered(INFINITY, NAN): true isunordered(INFINITY, INFINITY): false isunordered(NAN, NAN): true
[bearbeiten] Siehe auch
| (C++11) |
klassifiziert den gegebenen Gleitkommawert (Funktion) |
| (C++11) |
prüft, ob die gegebene Zahl NaN ist (Funktion) |
| C-Dokumentation für isunordered
| |