📅  最后修改于: 2023-12-03 14:39:57.235000             🧑  作者: Mango
std::ratio_equal()
是 C++11 提供的一种比较两个模板参数是否相等的模板类。它在 <ratio>
头文件中定义,可以用于比较两个比例关系是否相等。
template <class R1, class R2>
constexpr bool ratio_equal_v = std::ratio_equal<R1, R2>::value;
其中,R1
和 R2
是两个待比较的比例关系类型,ratio_equal_v
是一个 bool
常量。
下面是一个使用 std::ratio_equal()
的示例:
#include <iostream>
#include <ratio>
int main()
{
using namespace std;
// 定义两个比例关系类型
using r1 = ratio<1, 2>;
using r2 = ratio<2, 4>;
// 比较两个比例关系类型是否相等
bool equal = ratio_equal_v<r1, r2>;
if (equal) {
cout << "r1 and r2 are equal." << endl;
} else {
cout << "r1 and r2 are not equal." << endl;
}
return 0;
}
输出结果为:
r1 and r2 are equal.
在上面的示例中,我们首先定义了两个比例关系类型 r1
和 r2
,分别为 1/2 和 2/4。由于这两个比例关系是等价的,因此它们是相等的。我们使用 std::ratio_equal_v
来比较 r1
和 r2
是否相等,最终输出结果为 r1 and r2 are equal.
。
std::ratio_equal()
是 C++11 提供的一种比较两个模板参数是否相等的模板类,它可以用于比较两个比例关系是否相等。在使用时,我们需要传入待比较的比例关系类型,返回一个 bool 型常量来表示它们是否相等。