给出了在 C++ 中显示 ratio_less () 函数工作的任务。
该函数ratio_less()检查 ratio1 的值是否小于 ratio2。它返回一个布尔常量“值”,如果 ratio1 小于 ratio2,则返回 true,否则返回 false。
Input: 1/3 and 3/9 Output: 1/3 is less than 3/9. Input: 1/4 and 1/8 Output: 1/4 is not less than 1/8.
Template <ratio1, ratio2> ratio_less
该函数接受两个模板参数,一个是 ratio1,另一个是 ratio2,要进行比较。
在此函数中,如果 ratio1 的值小于 ratio2 的值,则该函数将返回布尔值,即为真,即整数位 1,否则将返回假,即整数位 0。
typedef 的解释: Typedef 用于给数据类型一个新的名字,在这个程序中我们使用 typedef 来声明比率。Typedef 创建可以在任何地方使用的别名来代替类型名称。它可以在同一行声明一个或多个标识符,也可以用于声明数组和函数类型、指针、引用、类类型等。
首先我们声明这两个比率。
然后分配两个比率的值。
然后我们检查 ratio1 的值是否小于 ratio2 的值。
使用 ratio_less 我们可以检查
// 用于演示 ratio_less 工作的 C++ 代码 #include<iostream> #include<ratio> Using namespace std; int main( ){ typedef ratio<1, 3> ratio1; typedef ratio<1, 2> ratio2; if(ratio_less<ratio1, ratio2>: : value) cout<< “ ratio1 is less than ratio2”; else cout<< “ ratio1 is not less than ratio2”; return 0; }输出结果
如果我们运行上面的代码,那么它将生成以下输出
1/3 is less than 1/2. 1/3 is not less than 1/5.