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

static_cast, dynamic_cast, const_cast และ reinterpret_cast ควรใช้เมื่อใด


const_cast

สามารถใช้เพื่อลบหรือเพิ่ม const ให้กับตัวแปร สิ่งนี้มีประโยชน์หากจำเป็นต้องเพิ่ม/ลบ constness จากตัวแปร

static_cast

ใช้สำหรับการแปลงประเภทปกติ/ธรรมดา นี่ยังเป็นนักแสดงที่รับผิดชอบสำหรับการบีบบังคับประเภทโดยนัยและยังสามารถเรียกได้อย่างชัดเจน คุณควรใช้ในกรณีเช่นแปลง floatto int, char เป็น int เป็นต้น

ไดนามิก_คาสต์

นักแสดงนี้ใช้สำหรับจัดการกับความหลากหลาย คุณต้องใช้เฉพาะเมื่อคุณกำลังแคสต์ไปยังคลาสที่ได้รับ ใช้เฉพาะในการสืบทอดเมื่อคุณเปลี่ยนจากคลาสพื้นฐานเป็นคลาสที่ได้รับ

reinterpret_cast

นี่คือการใช้งานที่ยากที่สุด ใช้สำหรับตีความรูปแบบบิตซ้ำและอยู่ในระดับต่ำมาก ส่วนใหญ่ใช้สำหรับการเปลี่ยนสตรีมข้อมูลดิบเป็นข้อมูลจริง หรือการจัดเก็บข้อมูลในบิตล่างของตัวชี้ที่จัดตำแหน่ง