C++教科書/標準ライブラリ編/<limits>の章
編集概要
編集<limits>
ヘッダーは、型サポートライブラリの一部で、すべての基本的な数値型のプロパティを問い合わせるためのインターフェースを提供します。
宣言
編集numeric_limits
編集template<class T> class numeric_limits;
numeric_limits
クラステンプレートは、型T
の様々な性質を調べるためのインターフェースを提供します。
float_round_style
編集enum float_round_style;
float_round_style
列挙型は、浮動小数点数の丸め方式を表します。
float_denorm_style
編集enum float_denorm_style;
float_denorm_style
列挙型は、浮動小数点数の非正規化数値のモードを表します。
numeric_limitsの特殊化
編集標準ライブラリには、以下の型に対するnumeric_limits
の特殊化が用意されています。
bool
char
、signed char
、unsigned char
char8_t
、char16_t
、char32_t
、wchar_t
short
、int
、long
、long long
unsigned short
、unsigned int
、unsigned long
、unsigned long long
float
、double
、long double
numeric_limitsの主要メンバー
編集min()
、max()
、lowest()
- 型の最小値、最大値、最小値(signed型のみ)を返します。
digits
- 基数で表現可能な桁数を返します。
is_signed
- 型が符号付きかどうかを判定します。
is_integer
- 型が整数型かどうかを判定します。
radix
- 型の基数を返します。
epsilon()
- 1に加算して区別できる最小の値を返します(浮動小数点型のみ)。
has_infinity
、has_quiet_NaN
、has_signaling_NaN
- 型が無限大、NaNを表現可能かどうかを判定します(浮動小数点型のみ)。
これらのメンバー関数やメンバー変数を使うことで、プログラム内で扱う型の性質を調べることができます。