Hàm Nội Tuyến | CppDeveloper

Chúng ta hãy cùng xem sở đồ sau →

Sơ đồ này minh họa cách tiếp cận khác cho vấn đề gọi hàm. Khi hàm cần gọi ngắn gọn và được gọi thường xuyên thì đưa code của hàm được gọi vào thẳng nơi nó được gọi sẽ tốt hơn. Tất nhiên, chúng ta cũng sẽ phải trả giá cho điều đó. Nó sẽ làm cho kích thước code tổng thể lớn hơn đáng kể so với trước đây.

Trình biên dịch có một chức năng để thực hiện theo cách tiếp cận này, đó là function inlining. Hàm được biên dịch theo cách đó được gọi là hàm nội tuyến (inline function).

Nếu bạn muốn một hàm nhất định được biên dịch và gọi như là một hàm nội tuyến, bạn phải đánh dấu nó theo cách đặc biệt.

Cần phải đặt từ khóa inline vào trước khai báo hàm. Nhìn vào ví dụ sau →

C++ #include <iostream> using namespace std; inline int function(int parameter) { return parameter * 2; } int main(void) { int var = 1; var = function(var); var = function(var); var = function(var); cout << var << endl; return 0; }
1234567891011121314151617 #include <iostream>usingnamespacestd; inlineintfunction(intparameter){returnparameter*2;} intmain(void){intvar=1;var=function(var);var=function(var);var=function(var);cout<<var<<endl;return0;}

Cú pháp của hàm inline có một số linh hoạt:

  • Không quan trọng từ khóa inline được đặt trước hay sau kiểu trả về của hàm; cả hai dòng sau đều đúng cú pháp:

inline int function(int parameter);

int inline function(int parameter);

  • Không quan trọng việc đặt từ khoá inline ở khai báo hay định nghĩa hàm. Có thể đặt inline ở khai báo và bỏ qua ở định nghĩa hoặc ngược lại, hoặc đặt ở cả hai nơi cũng hợp lệ

Từ khóa » Hàm Nội Tuyến