static_cast - इसका उपयोग सामान्य/साधारण प्रकार के रूपांतरण के लिए किया जाता है। यह निहित प्रकार के जबरदस्ती के लिए जिम्मेदार कलाकार भी है और इसे स्पष्ट रूप से भी कहा जा सकता है। आपको इसका उपयोग फ्लोट को इंट, चार से इंट आदि में बदलने जैसे मामलों में करना चाहिए।
डायनामिक_कास्ट - इस कास्ट का उपयोग बहुरूपता को संभालने के लिए किया जाता है। जब आप किसी व्युत्पन्न कक्षा में कास्टिंग कर रहे हों तो आपको केवल इसका उपयोग करने की आवश्यकता होती है। जब आप बेस क्लास से व्युत्पन्न वर्ग में डालते हैं तो यह विशेष रूप से विरासत में उपयोग किया जाता है।
नियमित कास्ट - यह C++ में उपलब्ध सबसे शक्तिशाली कास्ट है क्योंकि यह const_cast, static_cast और reinterpret_cast को जोड़ती है। लेकिन यह असुरक्षित भी है क्योंकि यह डायनामिक_कास्ट का उपयोग नहीं करता है। इसे सी-स्टाइल कास्ट भी कहा जाता है।
अन्य उपलब्ध कास्ट
const_cast - एक चर को हटाने या जोड़ने के लिए इस्तेमाल किया जा सकता है। यह तब उपयोगी हो सकता है जब किसी वैरिएबल से कॉन्स्टेंस जोड़ना/निकालना आवश्यक हो।
reinterpret_cast - यह उपयोग करने के लिए सबसे कठिन है। इसका उपयोग बिट पैटर्न की पुनर्व्याख्या के लिए किया जाता है और यह अत्यंत निम्न स्तर का होता है। इसका उपयोग मुख्य रूप से कच्चे डेटा बिट स्ट्रीम को वास्तविक डेटा में बदलने या संरेखित पॉइंटर के निचले बिट्स में डेटा संग्रहीत करने जैसी चीज़ों के लिए किया जाता है।