C++-数值的极限(numeric_limit类)

概述

传统C语言使用预处理器常量来决定数值的极值,其中整数常量定义于或<limits.h>中,浮点常量定义于或<float.h>中。

在C++中使用一个numeric_limit模板类提供这些常值;
numeric_limit的优势:

  • 提供更好的类型安全特性;
  • 借此tamplate以核定一些极值;

常用变量函数

1
2
3
4
5
6
7
8
9
10
11
12
13
// 是否支持该类型特化
static bool is_specialized

// 返回给定类型的最小有限值
// 对于浮点型,返回的是最小规格化正数值
static T min()

// 返回给定类型的最低有限值
// 对于浮点型,返回的是最大有限值的负值
static T lowest()

// 返回给定类型的最大有限值
static T max()