std::ratio_add
来自cppreference.com
该页由英文版wiki使用Google Translate机器翻译而来。
该翻译可能存在错误或用词不当。鼠标停留在文本上可以看到原版本。你可以帮助我们修正错误或改进翻译。参见说明请点击这里. |
在头文件 <ratio> 中定义
|
||
template< class R1, class R2 > using ratio_add = /* unspecified */; |
||
模板别名
std::ratio_add
表示的结果增加了两个精确合理的分数所代表的std::ratio实例R1
R2
。结果std::ratio例如std::ratio<Num, Denom>
其中Num == R1::num * R2::den + R2::num * R1::den和Denom == R1::den * R2::den.原文:
The template alias
std::ratio_add
denotes the result of adding two exact rational fractions represented by the std::ratio instances R1
and R2
. The result a std::ratio instance std::ratio<Num, Denom>
where Num == R1::num * R2::den + R2::num * R1::den and Denom == R1::den * R2::den.[编辑] 会员类型
会员类型
|
Definition |
type
|
std::ratio<num, den> |
[编辑] 会员常数
num [静态的]</div></div>
|
constexpr类型的值std::intmax_t等于 sign(Num) * sign(Denom) * abs(Num) / gcd(Num, Denom) 原文: constexpr value of type std::intmax_t equal to sign(Num) * sign(Denom) * abs(Num) / gcd(Num, Denom) (公共静态成员常量) |
den [静态的]</div></div>
|
constexpr类型的值std::intmax_t等于 abs(Denom) / gcd(Num, Denom) 原文: constexpr value of type std::intmax_t equal to abs(Denom) / gcd(Num, Denom) (公共静态成员常量) |
[编辑] 示例
#include <iostream> #include <ratio> int main() { typedef std::ratio<2, 3> two_third; typedef std::ratio<1, 6> one_sixth; typedef std::ratio_add<two_third, one_sixth> sum; std::cout << "2/3 + 1/6 = " << sum::num << '/' << sum::den << '\n'; }
输出:
2/3 + 1/6 = 5/6