Bài viết này trình bày cách hoạt động của hàm ratio_less trong C++.
Hàm ratio_less kiểm tra xem giá trị của ratio1 có nhỏ hơn ratio2 hay không. Nó trả về hằng boolean value là true nếu ratio1 < ratio2, ngược lại false.
Ví dụ minh họa
Input: 1/3 và 3/9 → Output: 1/3 nhỏ hơn 3/9. Input: 1/4 và 1/8 → Output: 1/4 không nhỏ hơn 1/8.
Cú pháp
template <class R1, class R2> struct ratio_less;
Tham số
Hàm chấp nhận hai tham số template: ratio1 và ratio2 cần so sánh.
Giải thích
Nếu giá trị của ratio1 nhỏ hơn ratio2, hàm trả về true (1), ngược lại trả về false (0).
Giải thích typedef: typedef dùng để đặt tên mới cho kiểu dữ liệu, ở đây dùng để khai báo các ratio. typedef tạo alias có thể dùng thay cho tên kiểu, có thể khai báo nhiều identifier trên cùng một dòng, cũng dùng cho mảng, con trỏ, tham chiếu, kiểu lớp, v.v.
Cách tiếp cận
- Khai báo hai ratio.
- Gán giá trị cho hai ratio.
- Kiểm tra
ratio1 < ratio2bằngratio_less.
Ví dụ code
// C++ code demo ratio_less
#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 nhỏ hơn ratio2";
else
cout << "ratio1 không nhỏ hơn ratio2";
return 0;
}
Kết quả
ratio1 nhỏ hơn ratio2