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

Khi nào nên dùng từ khóa inline cho hàm trong C++?


inline gợi ý compiler thay lời gọi hàm bằng bản thân code hàm (inline expansion) tại compile-time. Giúp giảm overhead gọi hàm cho hàm nhỏ, thường gọi.

Đặc điểm

  • Đặt inline trước định nghĩa hàm.
  • Hàm định nghĩa trong class tự động là inline.
  • Compiler có thể bỏ qua nếu hàm phức tạp (đệ quy, vòng lặp lớn...).
  • Thay đổi hàm inline → phải recompile toàn bộ translation unit dùng nó.

Ví dụ

inline int max(int a, int b) { return a>b? a:b; }

int main() {
    cout << max(20,10) << endl; // 20
    cout << max(0,200) << endl; // 200
}