#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