В последнем стандарте С++ я заметил следующие макросы:
bool isgreater(float x, float y);
bool isgreaterequal(float x, float y);
bool isless(float x, float y);
bool islessequal(float x, float y);
bool islessgreater(float x, float y);
bool isunordered(float x, float y);
Эти макросы взяты из C (7.12.14 и 7.12.14).
Итак, зачем кому-то использовать эти макросы, а не операторы? Есть ли что-то особенное, что делают эти макросы (например, проверка на inf
), или они такие же, как их соответствующий оператор?
Пример С++:
#include <iostream>
#include <cmath>
int main()
{
float x=0.2;
float y=0.5;
std::cout << x << " < " << y << " : " << std::boolalpha << std::islessequal( x, y ) << std::endl;
std::cout << x << " < " << y << " : " << std::boolalpha << ( x <= y ) << std::endl;
}