Thứ Hai, 27 tháng 2, 2012

Ý nghĩa hàm nội tuyến (Inline) trong C++

Việc tổ chức chương trình thành các hàm có ưu điểm là giảm kích thước của chương trình nhưng lại làm chậm tốc độ chương trình do phải thực hiện một số thao tác có tính thủ tục khi gọ hàm. Hàm trực tuyến trong C++ cho khả năng khắc phục nhược điểm đó.


Để biến một hàm thành một hàm trực tuyến, ta chỉ cần thêm từ khóa ‘inline’ vào trước khai báo nguyên mẫu hàm. Nếu không sử dụng hàm nguyên mẫu thì viết từ khóa này trước dòng đầu tiên của định nghĩa hàm.
Ví dụ:

inline int getmax(int *x)
{
//Cac cau lenh
}


Chương trình dịch xử lý hàm inline như các macro, nghĩa là nó sẽ thay mỗi lời gọi hàm bằng một đoạn chương trình thực hiện nhiệm vụ hàm. Cách làm này làm cho chương trình dài ra, nhưng tốc độ chương trình tăng lên do không phải thực hiện các thao tác có tính thủ tục khi gọi hàm
Do đó, chỉ sử dụng hàm trực tuyến cho các hàm nhỏ.

Xem thêm:  http://kenhdaihoc.com/forum/showthread.php?t=2735 

Theo laptrinhvn



0 nhận xét: