最終更新日時: 2025年07月13日 13時07分37秒 (JST)
Koichi Murase が更新

履歴 編集

macro
<cstdint>

# INT_FAST64_MAX(C++11)

    #define INT_FAST64_MAX implementation-defined

## 概要

`int_fast64_t` の最大値を表す定数。

`std::numeric_limits<int_fast64_t>::max()` と等しい。

## 例

    #include <iostream>
    #include <cstdint>
    #include <limits>

    int main()
    {
      std::cout << "INT_FAST64_MAX: " << INT_FAST64_MAX << std::endl;

      // numeric_limitsによる値と一致することを確認
      std::cout << "numeric_limits<int_fast64_t>::max(): "
                << std::numeric_limits<std::int_fast64_t>::max() << std::endl;

      std::cout << "INT_FAST64_MAX == numeric_limits<int_fast64_t>::max(): "
                << std::boolalpha
                << (INT_FAST64_MAX == std::numeric_limits<std::int_fast64_t>::max()) << std::endl;

      // 型の確認
      std::int_fast64_t max_value = INT_FAST64_MAX;
      std::cout << "型を通したときの値: " << max_value << std::endl;

      // オーバーフローの確認
      std::int_fast64_t value = INT_FAST64_MAX;
      std::cout << "INT_FAST64_MAX: " << value << std::endl;
      std::cout << "INT_FAST64_MAX + 1: " << value + 1 << std::endl;

      return 0;
    }

### 出力例

    INT_FAST64_MAX: 9223372036854775807
    numeric_limits<int_fast64_t>::max(): 9223372036854775807
    INT_FAST64_MAX == numeric_limits<int_fast64_t>::max(): true
    型を通したときの値: 9223372036854775807
    INT_FAST64_MAX: 9223372036854775807
    INT_FAST64_MAX + 1: -9223372036854775808

この出力例は処理系によって異なる場合がある。特に、`int_fast64_t`の実際の型が処理系によって異なる可能性があるため、最大値やオーバーフロー動作も異なることがある。

## バージョン

### 言語

- C++11

### 処理系

- Clang: 3.2 ✅
- GCC: 4.7.0 ✅
- ICC: ??
- Visual C++: 2010 ✅, 2012 ✅, 2013 ✅