#define Directive ใน C ++ คืออะไร

Define Directive Ni C Khux Xari



การประมวลผลล่วงหน้าใน C++ หมายถึงระยะเริ่มต้นของการคอมไพล์โปรแกรมหรือการแปลซึ่งไฟล์โปรแกรมต้นทางถูกแก้ไขตามคำสั่งของตัวประมวลผลล่วงหน้า คำสั่งเหล่านี้แสดงโดย # สัญลักษณ์ ดำเนินการโดยตัวประมวลผลล่วงหน้าและส่งผลต่อซอร์สโค้ดก่อนที่โปรแกรมหลักจะถูกดำเนินการ

คำสั่งตัวประมวลผลล่วงหน้าใน C ++ แสดงโดย # (แฮช) สัญลักษณ์ที่จุดเริ่มต้นของคำสั่ง คำสั่งตัวประมวลผลล่วงหน้าทั่วไปใน C ++ รวมถึง การรวมไฟล์ และ มาโคร คำนิยาม. คำสั่งเหล่านี้มักจะวางไว้นอกฟังก์ชัน main() ที่ด้านบนสุดของโปรแกรม C++ ระหว่างการประมวลผลล่วงหน้า ไฟล์ระดับกลางที่มีไฟล์ .ฉัน ส่วนขยายถูกสร้างขึ้น

#define คำสั่งใน C ++

ใน C++ คำสั่ง #define เป็นคำสั่งของตัวประมวลผลล่วงหน้าที่ใช้ในการกำหนดค่าคงที่หรือมาโคร อนุญาตให้คุณกำหนดชื่อสัญลักษณ์หรือค่าที่ใช้แทนรหัสทั้งหมดก่อนที่กระบวนการคอมไพล์จริงจะเกิดขึ้น







นี่คือไฮไลท์หลักบางประการของ #define ตัวประมวลผลล่วงหน้า



  • ใน C++ คำสั่งตัวประมวลผลล่วงหน้า #define ใช้เพื่อกำหนดมาโคร
  • มาโครใน C++ มีชื่อค่าคงที่หรือนิพจน์ที่ประกาศด้วยคำสั่ง #define
  • #define directives เรียกอีกอย่างว่า Macro directives
  • เมื่อพบคำสั่ง #define ในโปรแกรม C++ ชื่อของมาโครที่กำหนดจะถูกแทนที่ด้วยค่าคงที่หรือนิพจน์ในระหว่างขั้นตอนการคอมไพล์เริ่มต้น

ไวยากรณ์ของ #define Directive

ไวยากรณ์สำหรับการใช้คำสั่ง #define มีดังนี้:



#กำหนดค่าตัวระบุ

โดยที่ตัวระบุคือชื่อของค่าคงที่หรือแมโครที่ถูกกำหนด และค่าคือค่าที่ควรแทนที่ด้วยเมื่อโค้ดถูกคอมไพล์





ตัวอย่างของ #define Directive

ต่อไปนี้คือตัวอย่างที่อธิบายวิธีใช้ #define directive ในโค้ด C++:

#รวมถึง

#กำหนด PI 3.14159

#กำหนดตาราง(x) ((x) * (x))

นานาชาติ หลัก ( ) {

สองเท่า รัศมี = 5.0 ;

สองเท่า พื้นที่ = ปี่ * สี่เหลี่ยม ( รัศมี ) ;

มาตรฐาน :: ศาล << 'พื้นที่: ' << พื้นที่ << มาตรฐาน :: จบ ;

กลับ 0 ;

}

ในตัวอย่างนี้ เรากำหนดค่าคงที่สองค่าโดยใช้ #define directive: PI ซึ่งแทนค่าคงที่ทางคณิตศาสตร์ pi และ SQUARE ซึ่งเป็นมาโครที่คำนวณกำลังสองของค่าที่กำหนด จากนั้นเราใช้ค่าคงที่เหล่านี้ในรหัสของเราเพื่อคำนวณพื้นที่ของวงกลมที่มีรัศมีที่กำหนด



ความแตกต่างระหว่าง #define และ const

คำถามทั่วไปข้อหนึ่งที่เกิดขึ้นเมื่อพูดถึง #define directive คือความแตกต่างจากการใช้ตัวแปร const ใน C++ อย่างไร แม้ว่าทั้งสองวิธีจะช่วยให้คุณสามารถกำหนดค่าคงที่ที่สามารถใช้ได้ตลอดทั้งโค้ดของคุณ แต่ก็มีข้อแตกต่างที่สำคัญบางประการระหว่างทั้งสองวิธี

ความแตกต่างที่สำคัญอย่างหนึ่งระหว่าง #กำหนด และ คอสต์ คือ #define เป็นคำสั่งตัวประมวลผลล่วงหน้าในขณะที่ const เป็นคำหลักที่เป็นส่วนหนึ่งของภาษา C ++ เอง ซึ่งหมายความว่าค่าคงที่ที่กำหนดโดยใช้ #define จะถูกแทนที่ด้วยค่าก่อนที่โค้ดจะถูกคอมไพล์ ในขณะที่ตัวแปร const จะถูกจัดการโดยคอมไพเลอร์เอง

ความแตกต่างที่สำคัญอีกประการระหว่าง #define และ const คือตัวแปร const มีประเภทเฉพาะ ในขณะที่ค่าคงที่ที่กำหนดโดยใช้ #define ไม่มี ซึ่งหมายความว่าคุณสามารถใช้ตัวแปร const ในตำแหน่งที่ต้องการประเภทเฉพาะ ในขณะที่ค่าคงที่ที่กำหนดโดยใช้ #define อาจใช้ไม่ได้ในสถานการณ์เหล่านั้นเสมอไป

บทสรุป

คำสั่ง #define เป็นคำสั่งตัวประมวลผลล่วงหน้าที่ใช้ในการกำหนดค่าคงที่หรือมาโคร ช่วยให้เราสามารถกำหนดชื่อสัญลักษณ์หรือค่าที่จะแทนที่ทั่วทั้งโค้ดก่อนที่กระบวนการคอมไพล์จริงจะเกิดขึ้น อ่านเพิ่มเติมเกี่ยวกับ #define directive ใน C++ ในบทความนี้