最終更新日時: 2025年08月20日 22時19分14秒 (JST)
Raclamusi が更新

履歴 編集

function
<limits>

# std::numeric_limits::max

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

## 概要

型`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

## 関連項目

- `std::numeric_limits::lowest()`
- `std::numeric_limits::min()`