Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C++

อะไรคือความแตกต่างระหว่าง #define และ const คำหลักใน C ++


คำสั่ง #define เป็นคำสั่งตัวประมวลผลล่วงหน้า ตัวประมวลผลล่วงหน้าจะแทนที่มาโครเหล่านั้นด้วยเนื้อความก่อนที่คอมไพเลอร์จะเห็น คิดว่าเป็นการค้นหาอัตโนมัติและแทนที่ซอร์สโค้ดของคุณ

การประกาศตัวแปร const จะประกาศตัวแปรจริงในภาษา ซึ่งคุณสามารถใช้เหมือนตัวแปรจริง:ใช้ที่อยู่ ส่งต่อ โยน แปลง เป็นต้น

หากไม่มีการเพิ่มประสิทธิภาพคอมไพเลอร์ จะมีค่าใช้จ่ายที่ซ่อนอยู่ในการจัดสรรหน่วยความจำซึ่งเชื่อมโยงกับทั้งสองกรณีในกรณีที่ต่างกัน แต่ด้วยการเพิ่มประสิทธิภาพที่เหมาะสม สิ่งเหล่านี้จะเหมือนกันไม่มากก็น้อย นอกจากนี้ มาโครตัวประมวลผลล่วงหน้าไม่มีขอบเขตใดๆ ในขณะที่ค่า const มี