C++学习,标准库 <climits>
<climits>
是 C++ 标准库中的一个头文件,它定义了一系列与整数类型相关的常量。这些常量提供了各种整数类型的属性,比如类型的大小、最小值、最大值等。这个头文件对于编写涉及整数类型边界检查的代码非常有用。
- 字符类型
CHAR_BIT
:符类型的位数(通常为 8)CHAR_MIN
:char
类型的最小值(通常为 -128 或 0,取决于是否是有符号字符)。CHAR_MAX
:char
类型的最大值(通常为 127 或 255,取决于是否是有符号字符)。SCHAR_MIN
:有符号字符类型的最小值(-128)。SCHAR_MAX
:有符号字符类型的最大值(127)。UCHAR_MAX
:无符号字符类型的最大值(255)。
- 短整型
SHRT_MIN
:short
类型的最小值(-32768)。SHRT_MAX
:short
类型的最大值(32767)。USHRT_MAX
:无符号短整型(unsigned short
)的最大值(65535)。
- 整型
INT_MIN
:int
类型的最小值(-2147483648)。INT_MAX
:int
类型的最大值(2147483647)。UINT_MAX
:无符号整型(unsigned int
)的最大值(4294967295)。
- 长整型
LONG_MIN
:long
类型的最小值(-2147483648 或 -9223372036854775808,取决于long
是否与int
或long long
相同)。LONG_MAX
:long
类型的最大值(2147483647 或 9223372036854775807,取决于long
是否与int
或long long
相同)。ULONG_MAX
:无符号长整型(unsigned long
)的最大值(4294967295 或 18446744073709551615,取决于long
是否与int
或long long
相同)。
- 长长整型(C99 标准引入,C++11 采纳)
LLONG_MIN
:long long
类型的最小值(-9223372036854775808)。LLONG_MAX
:long long
类型的最大值(9223372036854775807)。ULLONG_MAX
:无符号长长整型(unsigned long long
)的最大值(18446744073709551615)。
- 其他
MB_LEN_MAX
:多字节字符的最大长度(在 C++ 中不常用,更多用于 C 的字符处理)。SIZE_MAX
:size_t
类型的最大值(通常用于表示对象的大小)。
示例:
#include <iostream>
#include <climits>
int main() {
std::cout << "CHAR_MIN: " << CHAR_MIN << std::endl;
std::cout << "CHAR_MAX: " << CHAR_MAX << std::endl;
std::cout << "INT_MIN: " << INT_MIN << std::endl;
std::cout << "INT_MAX: " << INT_MAX << std::endl;
std::cout << "LONG_MIN: " << LONG_MIN << std::endl;
std::cout << "LONG_MAX: " << LONG_MAX << std::endl;
std::cout << "SIZE_MAX: " << SIZE_MAX << std::endl;
return 0;
}