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