关于limit头文件的所有内容参看c++ reference
http://www.cplusplus.com/reference/limits/numeric_limits/?kw=numeric_limits
在编程中我们常会遇到扫描求得一个序列的最大值或者最小值的情景,这个时候往往需要给相应的变量附上边界值,确保在任何情况下求得目标值正确。而limits这个头文件是包含了相应的方法或宏定义的,当然如果你包含了
algorithm也是可以的(估计包含了相应的limits头文件)
比如std::numeric_limits< int>::min()
std::numeric_limits< double>::min()
std::numeric_limits< float>::min()
示例:
// numeric_limits example
#include <iostream> // std::cout
#include <limits> // std::numeric_limits
int main () {
std::cout << std::boolalpha;
std::cout << "Minimum value for int: " << std::numeric_limits<int>::min() << '\n';
std::cout << "Maximum value for int: " << std::numeric_limits<int>::max() << '\n';
std::cout << "int is signed: " << std::numeric_limits<int>::is_signed << '\n';
std::cout << "Non-sign bits in int: " << std::numeric_limits<int>::digits << '\n';
std::cout << "int has infinity: " << std::numeric_limits<int>::has_infinity << '\n';
return 0;
}