C++ ratio

http://www.cplusplus.com/reference/ratio/ratio/
ratio提供了一个分数
但是
只能是常量,所以一般是用chrono 的 duration中

// ratio example
#include <iostream>
#include <ratio>
using namespace std;
int main ()
{
  typedef ratio<1,3> one_third;
  typedef ratio<2,4> two_fourths;
  cout << "one_third= " << one_third::num << "/" << one_third::den << endl;
  cout << "two_fourths= " << two_fourths::num << "/" << two_fourths::den << endl;
  typedef ratio_add<one_third,two_fourths> sum;
  cout << "sum= " << sum::num << "/" << sum::den;
  cout << " (which is: " << ( double(sum::num) / sum::den ) << ")" << endl;
  cout << "1 kilogram has " << ( kilo::num / kilo::den ) << " grams";
  cout << endl;
  return 0;
}

运行结果

one_third= 1/3
two_fourths= 1/2
sum= 5/6 (which is: 0.833333)
1 kilogram has 1000 grams

这段代码可以看出
typedef定义一个ratio
ratio_add还能让两个ratio相加,这么好的功能居然只能用常量= =
还有一些预定义的对象,比如说kilo

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值