|
안녕하세요 제라툴입니다.
우선 cast에 대해서 설명을 해드리죠
cast는 자기가 원하는 형태의 자료형으로 형변환을 위해서 사용됩니다.
C에서는 (Type-id)Expression 형태의 캐스트를 많이 사용합니다.
그리고 님이 질문하신것도 이런한 캐스트의 일종입니다.
우선 님이 질문하신 dynamic_cast에 대해 설명해드리죠
dynamic_cast역시 형변환을 위한거겠죠..
사용 방법은 간단합니다.
dynamic_cast < type-id > ( expression ) 이런식으로 사용하면 되죠..
하지만 여기서는 주위해야 될 점이 있습니다.
type-id 와 expressing이 모두 pointer나 reference형이어야 한다는 점입니다..^^
또 dynamic_cast는 Class Hierarchy Showing Multiple Inheritance,
Class Hierarchy Showing Multiple Inheritance, Class Hierarchy Showing Duplicate Base Classes
등에서도 사용이 가능하다는 장점을 가지고 있습니다.
다음으로 reinterpret_cast 에대해서 설명하겠습니다.
reinterpret_cast < type-id > ( expression )
위와 같은형태로 사용하며 이것은 또한pointer를 cast할때 사용합니다.
하지만 dynamic_cast와 다른점은 reinterpret_cast는
order pointer로 cast가 가능 하다는 점입니다.
마지막으로 static_cast에 대해서 설명하겠습니다.
이것 역시 위와같은 방법으로.
static_cast < type-id > ( expression )
이렇게 사용하면 됩니다. 이 cast는 제가 가장많이 사용하는 cast방법인데
보통cast와 거의 같은 방법입니다.하지만 좀더 안전한 cast를 할수있는 방법이죠.
제대답이 조금이라도 도움이 되었으면 하내여^^
이상 제라였습니다.
---- 아름다운 청년 제라툴 ----
|