Macro C++
Macro là các chỉ thị tiền xử lý trong C++ được bộ tiền xử lý sử dụng để thực hiện thay thế văn bản. Chúng được xác định bằng chỉ thị #define, theo sau là tên macro và giá trị được thay thế.
Macro có thể được sử dụng để xác định hằng số, tạo macro giống hàm hoặc thực hiện quá trình biên dịch có điều kiện.
Macro liên tục
Các macro không đổi được sử dụng để xác định các hằng số tượng trưng để sử dụng trong mã code. Chúng không sử dụng bất kỳ bộ nhớ nào và được thay thế bởi bộ tiền xử lý trước quá trình biên dịch.
Ví dụ:
#define PI 3.14159
Macro này định nghĩa một hằng số tượng trưng PI. Bạn có thể sử dụng nó trong mã code của mình như thể nó là một biến thông thường.
double circumference = 2 * PI * radius;
Hàm giống như Macro
Các macro giống như hàm tương tự như các hàm thông thường. Họ lấy một danh sách các đối số và thực hiện thay thế văn bản.
Ví dụ:
#define SQUARE(x) ((x) * (x))
Macro này định nghĩa một hàm giống macro SQUARE để tính bình phương của một số.
int square_of_five = SQUARE(5); // mở rộng thành ((5) * (5))
Biên dịch có điều kiện
Macro có thể được sử dụng để biên dịch có điều kiện bằng cách sử dụng các chỉ thị #ifdef, #ifndef, #if, #else, #elif và #endif.
Ví dụ:
#define DEBUG_MODE
#ifdef DEBUG_MODE
// Mã code chỉ được biên dịch trong chế độ gỡ lỗi
#else
// Mã code chỉ được biên dịch nếu DEBUG_MODE không được xác định
#endif
Ví dụ này minh họa cách bạn có thể sử dụng macro để kiểm soát các phần mã code đang được biên dịch, tùy thuộc vào việc có hay không có định nghĩa macro.