C++中是否有任何常量可用作比较中的最小值/最大值

Nan*_*dan 1 c++ limits constants

是术语INT_MININT_MAX在比较次数用作常量作为初始最大和分别最小值?

gsa*_*ras 6

是的,std::numeric_limits.

例:

// 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;
}
Run Code Online (Sandbox Code Playgroud)

可能的输出:

Minimum value for int: -2147483648
Maximum value for int: 2147483647
int is signed: true
Non-sign bits in int: 31
int has infinity: false
Run Code Online (Sandbox Code Playgroud)