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

Khi nào tôi nên viết từ khóa 'inline' cho một hàm / phương thức trong C ++?

Trong C ++, nội tuyến từ khóa được sử dụng ở những nơi khác nhau. Để tạo các biến nội tuyến, hoặc không gian tên nội tuyến và cũng như để tạo các phương thức hoặc hàm nội tuyến.

C ++ nội dòng function là 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 đối với 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 nội tuyến người chỉ định.

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

Ví dụ

#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