이 기사에서는 C++ STL에서 ratio_equal() 함수의 작동, 구문 및 예제에 대해 논의합니다.
ratio_equal 템플릿이란 무엇입니까?
ratio_equal 템플릿은
따라서 두 비율이 동일한지 확인하려면 C++로 전체 논리를 작성하는 대신 제공된 템플릿을 사용하여 코딩을 더 쉽게 만들 수 있습니다.
구문
template <class ratio1, class ratio2> ratio_equal;
매개변수
템플릿은 다음 매개변수를 허용합니다. -
-
비율1, 비율2 − 이 두 비율이 동일한지 여부를 확인하려는 두 가지 비율입니다.
반환 값
이 함수는 두 비율이 같으면 true를 반환하고 그렇지 않으면 false를 반환합니다.
입력
typedef ratio<3, 6> ratio1; typedef ratio<1, 2> ratio2; ratio_equal<ratio1, ratio2>::value;
출력
true
입력
typedef ratio<3, 9> ratio1; typedef ratio<1, 2>ratio2; ratio_equal<ratio1, ratio2>::value;
출력
false
예시
#include <iostream> #include <ratio> using namespace std; int main(){ typedef ratio<2, 5> R_1; typedef ratio<10, 25> R_2; //check whether ratios are equal or not if (ratio_equal<R_1, R_2>::value) cout<<"Ratio 1 and Ratio 2 are equal"; else cout<<"Ratio 1 and Ratio 2 aren't equal"; return 0; }
출력
위 코드를 실행하면 다음 출력이 생성됩니다 -
Ratio 1 and Ratio 2 are equal
예시
#include <iostream> #include <ratio> using namespace std; int main(){ typedef ratio<2, 5> R_1; typedef ratio<1, 3> R_2; //check whether ratios are equal or not if (ratio_equal<R_1, R_2>::value) cout<<"Ratio 1 and Ratio 2 are equal"; else cout<<"Ratio 1 and Ratio 2 aren't equal"; return 0; }
출력
위 코드를 실행하면 다음 출력이 생성됩니다 -
Ratio 1 and Ratio 2 aren’t equal
예시
Code-3: //if we try to enter 0 in the denominator then the output will be #include <iostream> #include <ratio> using namespace std; int main(){ typedef ratio<2, 5> R_1; typedef ratio<1, 0> R_2; //check whether ratios are equal or not if (ratio_equal<R_1, R_2>::value) cout<<"Ratio 1 and Ratio 2 are equal"; else cout<<"Ratio 1 and Ratio 2 aren't equal"; return 0; }
출력
위 코드를 실행하면 다음 출력이 생성됩니다 -
/usr/include/c++/6/ratio:265:7: error: static assertion failed: denominator cannot be zero static_assert(_Den != 0, "denominator cannot be zero");