Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> C++

Hàm ratio_less trong C++


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 < ratio2 bằng ratio_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