มีวิธีใดบ้างในการใช้sizeof
มาโครตัวประมวลผลล่วงหน้า
ตัวอย่างเช่นมีสถานการณ์มากมายในช่วงหลายปีที่ฉันต้องการทำสิ่งต่างๆเช่น:
#if sizeof(someThing) != PAGE_SIZE
#error Data structure doesn't match page size
#endif
สิ่งที่แน่นอนที่ฉันตรวจสอบที่นี่ถูกสร้างขึ้นอย่างสมบูรณ์ - ประเด็นคือฉันมักจะชอบใส่การตรวจสอบเวลาคอมไพล์ (ขนาดหรือการจัดตำแหน่ง) ประเภทนี้เพื่อป้องกันคนที่แก้ไขโครงสร้างข้อมูลซึ่งอาจไม่ตรงแนวหรือใหม่ ขนาดของสิ่งที่จะทำลายพวกเขา
ไม่จำเป็นต้องพูด - ดูเหมือนว่าฉันจะไม่สามารถใช้ a sizeof
ในลักษณะที่อธิบายไว้ข้างต้นได้