Я видел этот пример в документации cppreference дляstd::numeric_limits
#include <limits>
#include <iostream>
int main()
{
std::cout << "type\tlowest()\tmin()\t\tmax()\n\n";
std::cout << "uchar\t"
<< +std::numeric_limits<unsigned char>::lowest() << '\t' << '\t'
<< +std::numeric_limits<unsigned char>::min() << '\t' << '\t'
<< +std::numeric_limits<unsigned char>::max() << '\n';
std::cout << "int\t"
<< std::numeric_limits<int>::lowest() << '\t'
<< std::numeric_limits<int>::min() << '\t'
<< std::numeric_limits<int>::max() << '\n';
std::cout << "float\t"
<< std::numeric_limits<float>::lowest() << '\t'
<< std::numeric_limits<float>::min() << '\t'
<< std::numeric_limits<float>::max() << '\n';
std::cout << "double\t"
<< std::numeric_limits<double>::lowest() << '\t'
<< std::numeric_limits<double>::min() << '\t'
<< std::numeric_limits<double>::max() << '\n';
}
Я не понимаю оператор "+" в
<< +std::numeric_limits<unsigned char>::lowest()
Я протестировал его, заменил на «-», и это тоже сработало. Какая польза от такого оператора "+"?
-
то выходные данные не будут соответствовать правильным значениям для пределов
+
. В этом случае ваш запрос, вероятно, будет «c ++ unary plus». Это ... не совсем интуитивно понятно, и вам все равно придется научиться читать документацию, которую вы найдете, но, IMO, это полезный навык для развития.
+
?