数值的极值
一般来说,数值的极值与平台相关。C++标准库用template_numeric_limits提供了数值的极值,取代了传统C语言所采用的预处理器常量。预处理器常量定义的整数极值在和<limits.h>,浮点数极值在和<float.h>文件中。而标准库提供的新的极值概念有以下两个优点:
- 提供了更好的类型安全性
- 可借此写出一些template以核定这些极值
极值的使用:
#include <iostream>
#include <limits>
#include <string>
using namespace std;
int main()
{
cout << boolalpha;
cout << "max(short): " << numeric_limits<short>::max() << endl;
cout << "max(int): " << numeric_limits<int>::max() << endl;
cout << "max(long): " << numeric_limits<long>::max() << endl;
cout << endl;
cout << "max(flat): " << numeric_limits<float>::max() << endl;
cout << "max(double): " << numeric_limits<double>::max() << endl;
cout << "max(long double): " << numeric_limits<long double>::max() << endl;
cout << endl;
cout << "is_singed(char): " << numeric_limits<char>::is_signed << endl;
cout << endl;
cout << "is_specialized(string)" << numeric_limits<string>::is_specialized << endl;
system("pause");
return 0;
}