C++/標準ライブラリ/limits
表示
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の特殊化が用意されています。
boolchar、signed char、unsigned charchar8_t、char16_t、char32_t、wchar_tshort、int、long、long longunsigned short、unsigned int、unsigned long、unsigned long longfloat、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を表現可能かどうかを判定します(浮動小数点型のみ)。
これらのメンバー関数やメンバー変数を使うことで、プログラム内で扱う型の性質を調べることができます。