最終更新日時:
が更新

履歴 編集

function
<limits>

std::numeric_limits::max

// C++03
static T max() throw();

// C++11
static constexpr T max() noexcept;

概要

Tの値の最大値を取得する

戻り値

指定された型の有限値のうち最大のもの。
浮動小数点数の場合、無限大やNaNではない。

例外

投げない

備考

is_specialized == falseの場合はT()が返される。
C++03バージョンはconstexprではないため、非定数式となる。

対応するマクロを次の表に挙げる。

対応するマクロ
unsigned char UCHAR_MAX
signed char SCHAR_MAX
char CHAR_MAX
unsigned short USHRT_MAX
short SHRT_MAX
unsigned UINT_MAX
int INT_MAX
unsigned long ULONG_MAX
long LONG_MAX
unsigned long long ULLONG_MAX
long long LLONG_MAX
uint8_t UINT8_MAX
int8_t INT8_MAX
uint16_t UINT16_MAX
int16_t INT16_MAX
uint32_t UINT32_MAX
int32_t INT32_MAX
uint64_t UINT64_MAX
int64_t INT64_MAX
uint_fast8_t UINT_FAST8_MAX
int_fast8_t INT_FAST8_MAX
uint_fast16_t UINT_FAST16_MAX
int_fast16_t INT_FAST16_MAX
uint_fast32_t UINT_FAST32_MAX
int_fast32_t INT_FAST32_MAX
uint_fast64_t UINT_FAST64_MAX
int_fast64_t INT_FAST64_MAX
uint_least8_t UINT_LEAST8_MAX
int_least8_t INT_LEAST8_MAX
uint_least16_t UINT_LEAST16_MAX
int_least16_t INT_LEAST16_MAX
uint_least32_t UINT_LEAST32_MAX
int_least32_t INT_LEAST32_MAX
uint_least64_t UINT_LEAST64_MAX
int_least64_t INT_LEAST64_MAX
uintmax_t UINTMAX_MAX
intmax_t INTMAX_MAX
uintptr_t UINTPTR_MAX
intptr_t INTPTR_MAX
ptrdiff_t PTRDIFF_MAX
sig_atomic_t SIG_ATOMIC_MAX
wchar_t WCHAR_MAX
wint_t WINT_MAX
size_t SIZE_MAX
float FLT_MAX
double DBL_MAX
long double LDBL_MAX

#include <iostream>
#include <limits>

int main()
{
  constexpr int i = std::numeric_limits<int>::max();
  constexpr double d = std::numeric_limits<double>::max();

  std::cout << i << std::endl;
  std::cout << d << std::endl;
}

出力例

2147483647
1.79769e+308