ฉันได้เห็นรหัสเช่นนี้มักจะเริ่มต้นของไฟล์ส่วนหัว:
#ifndef HEADERFILE_H
#define HEADERFILE_H
และในตอนท้ายของไฟล์ก็คือ
#endif
จุดประสงค์ของสิ่งนี้คืออะไร?
#pragmaคืออะไร: มันเปิดใช้งานคุณลักษณะเฉพาะของคอมไพเลอร์ แม้ว่า#pragma onceจะมากได้รับการสนับสนุนอย่างกว้างขวางก็ไม่เป็นมาตรฐาน
info cppหรือดูที่นี่ ) กล่าวว่า "มันไม่ได้รับการยอมรับจากผู้ประมวลผลล่วงหน้าทั้งหมดดังนั้นคุณจึงไม่สามารถเชื่อถือได้ในโปรแกรมพกพา" และ GNU CPP เพิ่มประสิทธิภาพทั่วไปและแบบพกพาสำนวนดังนั้นมันจึงเป็นที่มีประสิทธิภาพ#ifndef #pragma once
#ifndef HEADERFILE_Hสามารถละเมิด namespace การดำเนินงานของส่วนหัวชื่อที่เกิดขึ้นจะเริ่มต้นด้วยE; ตัวบ่งชี้ที่เริ่มต้นด้วยและหลักหรืออักษรตัวพิมพ์ใหญ่จะถูกสงวนไว้เพื่อE ผมขอแนะนำให้<errno.h> #ifndef H_HEADERFILE