最終更新日時(UTC):
が更新

履歴 編集

class template
<ratio>

std::ratio(C++11)

namespace std {
  template <intmax_t N, intmax_t D = 1>
  class ratio {
  public:
    using type = ratio<num, den>;
    static constexpr intmax_t num;
    static constexpr intmax_t den;
  };
}

概要

ratioは、コンパイル時に有理数を表現するためのクラスである。メンバ定数として、num(分子:numerator)とden(分母:denominator)を持つ。

numdenの値は、gcd(最大公約数:the greatest common divisor)を使用して、以下のようにNDを約分して割り当てる:

要件

denの値が0でもなく、intmax_tの最小値でもないこと。

#include <ratio>

int main()
{
  using r = std::ratio<3, 12>;

  static_assert(r::num == 1, "num is 1");
  static_assert(r::den == 4, "den is 4");
}

出力

バージョン

言語

  • C++11

処理系