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
inlinetrướ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
}