Eu vi esse exemplo na documentação da cppreference parastd::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';
}
Eu não entendo o operador "+" em
<< +std::numeric_limits<unsigned char>::lowest()
Eu testei, substituí-o por "-", e isso também funcionou. Para que serve um operador "+"?
-
, em seguida, as saídas não serão os valores corretos para os limites
+
. Nesse caso, sua consulta provavelmente seria "c ++ unary plus". É ... não exatamente intuitivo, e você ainda precisa aprender a ler a documentação que encontrará, mas na IMO é uma habilidade útil de cultivar.
+
?