Computer >> Máy Tính >  >> Lập trình >> C ++

Các hàm nội tuyến trong C ++


Hàm nội tuyến trong C ++ là một khái niệm mạnh mẽ thường được sử dụng với các lớp. Nếu một hàm nằm trong dòng, trình biên dịch sẽ đặt một bản sao mã của hàm đó tại mỗi điểm mà hàm được gọi tại thời điểm biên dịch.

Bất kỳ thay đổi nào đối với một hàm nội tuyến có thể yêu cầu tất cả các ứng dụng khách của hàm phải được biên dịch lại vì trình biên dịch sẽ cần phải thay thế tất cả mã một lần nữa nếu không nó sẽ tiếp tục với chức năng cũ.

Để nội dòng một hàm, hãy đặt từ khóa nội dòng trước tên hàm và xác định hàm trước khi thực hiện bất kỳ lệnh gọi nào đến hàm. Trình biên dịch có thể bỏ qua bộ định lượng nội tuyến trong trường hợp hàm được xác định nhiều hơn một dòng.

Định nghĩa hàm trong định nghĩa lớp là định nghĩa hàm nội tuyến, ngay cả khi không sử dụng công cụ chỉ định nội tuyến.

Sau đây là một ví dụ, sử dụng hàm nội tuyến để trả về giá trị tối đa là hai số -

Mã mẫu

#include <iostream>
using namespace std;
inline int Max(int x, int y) {
   return (x > y)? x : y;
}
// Main function for the program
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;
}

Đầu ra

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