[ Programing ]/C++
[ Casting의 종류 ] static_cast, dynamic_cast, const_cast, reinterpret_cast
Mister_Q
2010. 1. 31. 07:16
각 캐스팅의 사용 용도.
static_cast - 상속 관계의 클래스 포인터 및 레퍼런스. 타입 체크 안함. 기본 타입 속성 변환.
dynamic_cast - 상속 관계의 클래스 포인터 및 레퍼런스. 타입 체크. RTTI 기능 필요.
const_cast - const, volatile 등의 상수 포인터 속성 변경.
reinterpret_cast - 포인터끼리, 포인터와 수치형간의 변환.
=============================================================
참고 자료 :
아마도 static_cast나 const_cast는 기본적인 캐스팅 방식이라 많이들 사용해 보아서 문제가 없겠으나, dynamic_cast, reinterpret_cast는 생소한 분들이 많을 듯하다.
그 분들을 고려 해서 따로 정리 했으니 참고 하고 싶은 분들은 아래 글을 참고 하시길 바란다.
[ reinterpret_cast ] 그 강력함을 알고 쓰자.
[ Dynamic_cast< class object*>() ] 애매한 동적캐스트에 대한 정의.