const_cast
Dùng để thêm hoặc bỏ qua từ khóa const của một biến. Hữu ích khi cần thêm/bỏ tính bất biến (constness) của một biến.
static_cast
Dùng cho chuyển đổi kiểu thông thường/bình thường. Đây cũng là phép ép kiểu chịu trách nhiệm cho việc ép kiểu ngầm định và có thể được gọi tường minh. Nên dùng trong các trường hợp như chuyển float sang int, char sang int, v.v.
dynamic_cast
Dùng để xử lý đa hình (polymorphism). Chỉ cần dùng khi bạn ép kiểu đến một lớp dẫn xuất. Phép ép này chỉ dùng trong kế thừa khi bạn ép từ lớp cơ sở sang lớp dẫn xuất.
reinterpret_cast
Đây là phép ép kiểu khó sử dụng nhất. Nó dùng để diễn giải lại mẫu bit (bit pattern) và thuộc mức rất thấp. Chủ yếu dùng cho việc chuyển luồng bit dữ liệu thô thành dữ liệu thực tế, hoặc lưu trữ dữ liệu trong các bit thấp của một con trỏ đã căn chỉnh.