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
  • charsigned charunsigned char
  • char8_tchar16_tchar32_twchar_t
  • shortintlonglong long
  • unsigned shortunsigned intunsigned longunsigned long long
  • floatdoublelong double

numeric_limitsの主要メンバー

編集
min()max()lowest()
型の最小値、最大値、最小値(signed型のみ)を返します。
digits
基数で表現可能な桁数を返します。
is_signed
型が符号付きかどうかを判定します。
is_integer
型が整数型かどうかを判定します。
radix
型の基数を返します。
epsilon()
1に加算して区別できる最小の値を返します(浮動小数点型のみ)。
has_infinityhas_quiet_NaNhas_signaling_NaN
型が無限大、NaNを表現可能かどうかを判定します(浮動小数点型のみ)。

これらのメンバー関数やメンバー変数を使うことで、プログラム内で扱う型の性質を調べることができます。