Sự khác biệt giữa chức năng Macro và Inline

Sự khác biệt chính - Macro vs nội tuyến Chức năng
 

Một macro là một đoạn mã, là một chỉ thị tiền xử lý. Một hàm nội tuyến là một tính năng nâng cao C ++ để giảm thiểu thời gian thực hiện của một chương trình. Do đó, sự khác biệt chính giữa chức năng Macro và nội tuyến là một macro được kiểm tra bởi bộ tiền xử lý trong khi một hàm nội tuyến được kiểm tra bởi trình biên dịch.

Một macro được bao gồm ở đầu chương trình trước dấu băm. Khi có tên macro trong chương trình, nó được thay thế bằng nội dung của macro.

NỘI DUNG

1. Tổng quan và sự khác biệt chính
2. Macro là gì
3. Chức năng nội tuyến là gì
4. So sánh cạnh nhau - Chức năng Macro so với Inline ở dạng bảng
5. Tóm tắt

Macro là gì?

Bộ tiền xử lý là một chương trình xử lý mã nguồn trước khi nó đi qua trình biên dịch. Nó hoạt động bằng cách sử dụng dòng lệnh tiền xử lý hoặc các lệnh. Trong chương trình, các chỉ thị tiền xử lý được đặt trong chương trình nguồn trước chương trình chính. Trước khi mã nguồn đi qua trình biên dịch, nó được kiểm tra bởi bộ xử lý trước cho các chỉ thị tiền xử lý. Các chỉ thị tiền xử lý có ký hiệu #. Không giống như các tuyên bố khác, chúng không kết thúc bằng dấu chấm phẩy. Một loại chỉ thị tiền xử lý là macro. Nói chung, các macro được viết bằng chữ in hoa.

Hình 01: Chương trình C ++ với Macros

Theo chương trình trên, dòng 3 và dòng 4 chỉ các macro. Khi tính diện tích, giá trị PI được thay thế bằng cách sử dụng macro được xác định. Trong dòng 14, volume = CUBE (value), bộ tiền xử lý sẽ mở rộng câu lệnh dưới dạng volume = (value * value * value). Tìm khối lập phương có thể được viết dưới dạng hàm, nhưng ở đây nó được viết bằng macro. Nếu có một câu lệnh là volume = CUBE (x + y), thì nó sẽ mở rộng thành volume = (x + y * x + y * x + y).

Một số mã thông báo lập trình có thể dễ dàng bị nhầm lẫn. Chúng có thể được thay thế bằng cách sử dụng macro. ví dụ. #define VÀ &&, #define HOẶC ||. Một định nghĩa vĩ mô cũng có thể bao gồm các biểu thức, chẳng hạn như #define KHU 4 * 5.56.

Chức năng nội tuyến là gì?

Khi một hàm được gọi, trình biên dịch sẽ mất một thời gian để thực thi nó. Nếu chức năng không phức tạp lắm, lập trình viên có thể chuyển đổi chức năng thành chức năng nội tuyến. Tham khảo chương trình dưới đây.

Hình 02: Hàm không có Inline

Print_hello là một chức năng đơn giản. Nó in chuỗi mã Hello Hello khi hàm được gọi. Thời gian thực hiện cho chức năng đó là 0.187s. Khi sử dụng từ khóa nội tuyến như sau, thời gian thực hiện giảm xuống còn 0,064 giây.

Hình 03: Hàm nội tuyến

Do đó, bằng cách sử dụng từ khóa nội tuyến, thời gian thực hiện giảm. Các hàm nội tuyến có thể không hoạt động nếu có các vòng lặp, các câu lệnh chuyển đổi và nếu hàm chứa các biến tĩnh hoặc các hàm đệ quy.

Sự khác biệt giữa chức năng Macro và nội tuyến là gì?

Chức năng Macro vs Inline

Một macro là một đoạn mã, là một chỉ thị tiền xử lý được bao gồm ở đầu chương trình trước một dấu băm. Hàm nội tuyến là một tính năng nâng cao C ++ để giảm thiểu thời gian thực hiện của chương trình.
Thời gian đánh giá
Trong macro, đối số được đánh giá mỗi lần nó được sử dụng trong chương trình. Trong dòng, đối số được đánh giá một lần.
Kiểm tra bằng
Một macro được kiểm tra bởi bộ tiền xử lý. Một hàm nội tuyến được kiểm tra bởi trình biên dịch.
 Từ khóa
Marco sử dụng #define. Hàm nội tuyến sử dụng từ khóa 'nội tuyến'.
Sử dụng
Macro có thể được sử dụng để xác định các hằng, biểu thức, để thay thế văn bản bằng chữ và để xác định các hàm, v.v.. Một hàm nội tuyến có thể được sử dụng để giảm thiểu thời gian thực hiện chương trình.
Chấm dứt
Macro kết thúc với dòng mới. Hàm nội tuyến kết thúc với dấu ngoặc nhọn ở cuối hàm nội tuyến.
Xác định điểm
Một Marco được định nghĩa khi bắt đầu chương trình. Một hàm nội tuyến có thể ở bên trong hoặc bên ngoài lớp.

Tóm lược - Macro vs nội tuyến Chức năng

Bài viết này thảo luận về sự khác biệt giữa Macro và Inline Function. Những khái niệm này được sử dụng trong lập trình C ++. Sự khác biệt giữa Hàm Macro và Hàm nội tuyến là một macro được kiểm tra bởi bộ tiền xử lý trong khi một hàm nội tuyến được trình biên dịch kiểm tra.

Tài liệu tham khảo:

1. Chỉ thị tiền xử lý. Cplusplus.com. Có sẵn ở đây 
2. Chức năng nội tuyến của C C. Www.tutorialspoint.com, Điểm hướng dẫn, ngày 19 tháng 3 năm 2018. Có sẵn tại đây