static_cast − ใช้สำหรับการแปลงประเภทปกติ/ธรรมดา นี่ยังเป็นนักแสดงที่รับผิดชอบสำหรับการบีบบังคับแบบโดยปริยายและยังสามารถเรียกได้อย่างชัดเจน คุณควรใช้ในกรณีเช่นแปลง float เป็น int, char เป็น int เป็นต้น
ไดนามิก_คาสต์ − แคสต์นี้ใช้สำหรับจัดการกับความหลากหลาย คุณจำเป็นต้องใช้เมื่อคุณส่งไปยังคลาสที่ได้รับเท่านั้น ใช้เฉพาะในการสืบทอดเมื่อคุณใช้จากคลาสพื้นฐานเป็นคลาสที่ได้รับ
แคสต์ปกติ − นี่คือคาสต์ที่ทรงพลังที่สุดที่มีใน C++ เนื่องจากมันรวม const_cast, static_cast และ reinterpret_cast แต่ก็ไม่ปลอดภัยเช่นกันเพราะไม่ได้ใช้ dynamic_cast สิ่งนี้เรียกว่าเป็นนักแสดงสไตล์ C
แคสต์อื่นๆ ที่มีให้
const_cast - สามารถใช้เพื่อลบหรือเพิ่ม const ให้กับตัวแปร สิ่งนี้มีประโยชน์หากจำเป็นต้องเพิ่ม/ลบ constness จากตัวแปร
reinterpret_cast − นี่เป็นวิธีที่ยากที่สุดในการใช้ ใช้สำหรับตีความรูปแบบบิตซ้ำและอยู่ในระดับต่ำมาก มันถูกใช้สำหรับสิ่งต่าง ๆ เช่นการเปลี่ยนสตรีมข้อมูลดิบเป็นข้อมูลจริงหรือจัดเก็บข้อมูลในบิตต่ำของตัวชี้ที่จัดตำแหน่ง