Tham khảo tài liệu 'ngôn ngữ lập trình c++ từ cơ bản đến hướng đối tượng part 3', công nghệ thông tin, kỹ thuật lập trình phục vụ nhu cầu học tập, nghiên cứu và làm việc hiệu quả | biểu thức sau khi được thay thế khống phải là công thức để tính diện tích hình tròn vói bán kính x ỉ. Trong nhiều trường hợp Macro đã được tham sô hoá có thế được dùng để thay thế cho hàm. Ví dụ define max a a b a b là Macro dùng để xác định giá trị lớn nhất trong hai sô . Vối Macro này việc xác định giá trị lớn nhất của hai số x y và z có thể được thực hiện qua câu lệnh m max x y z cẫn phải lưu ý đến một sô vấn đề sau khi sử dụng Macro với tham sô truyền Macro được thực hiện nhanh hơn hàm bởi vì trong quá trình thực hiện không phải truyền tham số. Chương trình sử dụng Macro sẽ đòi hỏi nhiều bộ nhố hơn so vổi sử dụng hàm xem chương 5 do mỗi lần Macro được gọi thì tại vị trí đó bộ tiền xử lý sẽ chen thêm các dòng định nghĩa của Macro. Sử dụng Macro có thể làm phát sinh hiệu ứng phụ. Các tham số của Macro không cần xác định kiểu trong khi kiểu các tham sô khi gọi hàm là không thể thay đổi. . BIÊN DỊCH CÓ ĐIỂU KIỆN Các chỉ thị biên dịch có điều kiện cho phép chọn một đoạn chương trình có được biên dịch hay không. Cơ cấu thực hiện các chỉ thị này được biểu diễn ở dạng if-else - endif quen thuộc. 102 ĩ. Phần if trong chỉ thị thường có dạng - ifdef Tên_Macro Đoạn chương trình hoặc Biểu thức hằng Đoạn chương trình Tên_Macro trong chỉ thị ifdef và biểu thức hằng trong chỉ thị if là các điều kiện xác định các lệnh tiếp đó có được thực hiện hay không. Đói vối chỉ thị ìfdef điểu kiện chỉ thoả mãn nêu trước chỉ thị này đã được định nghĩa bằng chỉ thị define đổì với chỉ thị if điểu kiện chỉ thoả mãn nếu giá trị của Biểu thức hằng được đánh giá khác 0. 2. Phần else của chỉ thị có dạng eỉse Đoạn chương trình 3. Để kết thúc cho cấu trúc này trong C dùng chỉ thị endif Bộ tiền xử lý sẽ kiểm tra các điều kiện được viết trong các chỉ thị ifdef hoặc jf. Nếu điểu kiện thoả mãn đoạn chương trình được ngay sau đó sẽ được kết nốì vào chương trình để biên dịch đoạn chương trình được viết sau eZse sẽ bị bỏ qua hoặc ngược lại. Ngoài các chỉ thị nêu trên C cỏn sử dụng một sô chỉ