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

Lợi ích của hàm inline trong C++


Hàm inline trong C++ là khái niệm mạnh mẽ thường dùng với lớp. Nếu hàm là inline, trình biên dịch đặt bản sao mã hàm tại mỗi điểm gọi tại thời điểm biên dịch.

Mọi thay đổi hàm inline có thể yêu cầu biên dịch lại tất cả client vì trình biên dịch phải thay thế mã. Để khai báo inline, đặt từ khóa inline trước tên hàm và định nghĩa trước khi gọi. Trình biên dịch có thể bỏ qua inline nếu hàm phức tạp.

Hàm định nghĩa trong lớp tự động là inline.

Ví dụ

#include <iostream>
using namespace std;

inline int Max(int x, int y) {
    return (x > y) ? x : y;
}

int main() {
    cout << "Max (20,10): " << Max(20,10) << endl;
    cout << "Max (0,200): " << Max(0,200) << endl;
    cout << "Max (100,1010): " << Max(100,1010) << endl;
    return 0;
}

Kết quả

Max (20,10): 20
Max (0,200): 200
Max (100,1010): 1010

Lợi ích của hàm inline:

  • Loại bỏ chi phí gọi hàm (function call overhead).
  • Tiết kiệm chi phí push/pop biến trên stack khi gọi hàm.
  • Tiết kiệm chi phí lệnh return.
  • Trình biên dịch có thể tối ưu hóa cụ thể cho thân hàm inline.
  • Hàm inline nhỏ hữu ích cho hệ thống nhúng, tạo mã ít hơn so với序言/返回.