const_cast
এটি একটি ভেরিয়েবলে const যোগ বা বাদ দেওয়ার জন্য ব্যবহৃত হয়। ভেরিয়েবলের const-ness যোগ বা বাদ দিতে গেলে এটি উপকারী।
static_cast
এটি সাধারণ টাইপ কনভার্সনের জন্য ব্যবহৃত হয়। এটি ইমপ্লিসিট টাইপ কোэрসনের জন্যও দায়বদ্ধ এবং এক্সপ্লিসিটলিও কল করা যায়। float থেকে int, char থেকে int ইত্যাদি কনভার্সনে ব্যবহার করুন।
dynamic_cast
এটি পলিমরফিজম হ্যান্ডল করার জন্য ব্যবহৃত হয়। আপনি যখন বেস ক্লাস থেকে ডেরাইভড ক্লাসে কাস্ট করবেন তখন এটি ব্যবহার করুন। ইনহেরিটেন্সে শুধুমাত্র বেস ক্লাস থেকে ডেরাইভড ক্লাসে কাস্ট করার জন্য এটি এক্সক্লুসিভলি ব্যবহৃত হয়।
reinterpret_cast
এটি সবচেয়ে জটিল এবং নিম্নস্তরের কাস্ট। এটি বিট প্যাটার্ন পুনঃব্যাখ্যা করতে ব্যবহৃত হয়। কাঁচা ডেটা বিট স্ট্রিমকে আসল ডেটায় রূপান্তর বা অ্যালাইনড পয়েন্টারের লো বিটে ডেটা স্টোর করার মতো কাজে এটি প্রয়োগ হয়।