Trong bài viết này, chúng ta sẽ thảo luận về cách làm việc, cú pháp và ví dụ của hàm ratio_equal () trong C ++ STL.
Mẫu ratio_equal là gì?
Mẫu ratio_equal được tạo sẵn trong C ++ STL, được định nghĩa trong tệp tiêu đề
Vì vậy, khi chúng ta muốn kiểm tra sự bằng nhau của hai tỷ lệ, thay vì viết toàn bộ logic trong C ++, chúng ta có thể sử dụng mẫu được cung cấp để giúp mã hóa dễ dàng hơn.
Cú pháp
template <class ratio1, class ratio2> ratio_equal;
Tham số
Mẫu chấp nhận (các) tham số sau -
-
ratio1, ratio2 - Đây là hai tỷ lệ mà chúng tôi muốn kiểm tra xem chúng có bằng nhau hay không.
Giá trị trả về
Hàm này trả về true khi hai tỷ lệ bằng nhau, nếu không thì hàm này trả về false.
Đầu vào
typedef ratio<3, 6> ratio1; typedef ratio<1, 2> ratio2; ratio_equal<ratio1, ratio2>::value;
Đầu ra
true
Đầu vào
typedef ratio<3, 9> ratio1; typedef ratio<1, 2>ratio2; ratio_equal<ratio1, ratio2>::value;
Đầu ra
false
Ví dụ
#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; }
Đầu ra
Nếu chúng ta chạy đoạn mã trên, nó sẽ tạo ra kết quả sau -
Ratio 1 and Ratio 2 are equal
Ví dụ
#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; }
Đầu ra
Nếu chúng ta chạy đoạn mã trên, nó sẽ tạo ra kết quả sau -
Ratio 1 and Ratio 2 aren’t equal
Ví dụ
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; }
Đầu ra
Nếu chúng ta chạy đoạn mã trên, nó sẽ tạo ra kết quả sau -
/usr/include/c++/6/ratio:265:7: error: static assertion failed: denominator cannot be zero static_assert(_Den != 0, "denominator cannot be zero");