static_cast - 노멀/보통 타입 변환에 사용합니다. 이것은 또한 암시적 형식 강제 변환을 담당하는 캐스트이며 명시적으로 호출할 수도 있습니다. float를 int로, char를 int로 변환하는 경우 등의 경우에 사용해야 합니다.
다이내믹_캐스트 - 이 캐스트는 다형성을 처리하는 데 사용됩니다. 파생 클래스로 캐스팅할 때만 사용해야 합니다. 이것은 기본 클래스에서 파생 클래스로 형변환할 때 상속에서만 사용됩니다.
일반 캐스트 − const_cast, static_cast 및 reinterpret_cast를 결합한 C++에서 사용할 수 있는 가장 강력한 캐스트입니다. 그러나 dynamic_cast를 사용하지 않기 때문에 안전하지도 않습니다. 이를 C 스타일 캐스트라고도 합니다.
기타 사용 가능한 캐스트
const_cast - 변수에 const를 제거하거나 추가하는 데 사용할 수 있습니다. 이것은 변수에서 constness를 추가/제거해야 하는 경우 유용할 수 있습니다.
재해석_캐스트 - 가장 사용하기 까다롭습니다. 비트 패턴을 재해석하는 데 사용되며 매우 낮은 수준입니다. 원시 데이터 비트 스트림을 실제 데이터로 변환하거나 정렬된 포인터의 하위 비트에 데이터를 저장하는 것과 같은 작업에 주로 사용됩니다.