작성
·
385
0
선생님 강의를 수강중인 학생입니다.
상속관계에서 캐스팅시 업캐스팅 다운캐스팅에 상관없이 reinterpret_cast 또는 static_cast, static_pointer_cast를 사용하시는데
dynamic_cast를 사용하시는 것은 거의 보지 못하였습니다.
제 기억으론 아마 한번도 못본거 같은데요...
1. 상속관계에 있는 클래스간 dynamic_cast를 사용하라는 말이 있는데 잘 사용안하시는 이유가 있나요? (제가 놓친 부분이 있을 수도 있으니 양해부탁드립니다.)
2. 상속관계 캐스팅시 업캐스팅은 비교적 안전하니 비용이 적게드는 static_cast, 다운캐스팅은 위험하니 dynamic_cast를 사용하는 것은 어떤가요?
답변 1
1
[dynamic_cast 단점]을 구글에 검색해시기 바랍니다.
사용하면 큰일나는 그런건 아니지만, 상대적으로 조금 더 느리기 때문에
자주되는 함수에선 다른 방안을 사용할 뿐입니다.
UE의 Cast도 위에서 만드는 TypeCast과 유사하게 자체적으로 만든
빠른 conversion 기능입니다.