Ho visto questo esempio nella documentazione di cppreference perstd::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';
}
Non capisco l'operatore "+" in
<< +std::numeric_limits<unsigned char>::lowest()
L'ho testato, sostituito con "-" e anche quello ha funzionato. A che serve un tale operatore "+"?
-
allora le uscite non saranno i valori corretti per i limiti
+
. In questo caso, la query sarà probabilmente "c ++ unary plus". È ... non esattamente intuitivo e devi ancora imparare a leggere la documentazione che troverai, ma l'IMO è un'abilità utile da coltivare.
+
?