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

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


const_cast

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

static_cast

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

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

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

reinterpret_cast

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