#define สร้างมาโคร ซึ่งเป็นการเชื่อมโยงของตัวระบุหรือตัวระบุที่เป็นพารามิเตอร์กับสตริงโทเค็น หลังจากกำหนดมาโครแล้ว คอมไพเลอร์สามารถแทนที่สตริงโทเค็นสำหรับการเกิดขึ้นของตัวระบุในไฟล์ต้นทางแต่ละครั้ง
#define identifier token-string
นี่คือวิธีการใช้ตัวประมวลผลล่วงหน้า คำสั่ง #define ทำให้คอมไพเลอร์แทนที่ token-string สำหรับการเกิดขึ้นของตัวระบุในไฟล์ต้นฉบับ ตัวระบุจะถูกแทนที่เมื่อสร้างโทเค็นเท่านั้น กล่าวคือ ตัวระบุจะไม่ถูกแทนที่หากปรากฏในความคิดเห็น ในสตริง หรือเป็นส่วนหนึ่งของตัวระบุที่ยาวกว่า
ตัวอย่าง
#include<iostream> #define MY_VAR 55 using namespace std; int main() { int x = 10; cout << x + MY_VAR; // After preprocessing this expression becomes: x + 55 return 0; }
ผลลัพธ์
สิ่งนี้จะให้ผลลัพธ์ -
65
คุณสามารถอ่านเพิ่มเติมเกี่ยวกับคำสั่ง #define ใน MSDN https://docs.microsoft.com/en-us/cpp/preprocessor/hash-define-directive-c-cpp