인프런 커뮤니티 질문&답변

starkshn님의 프로필 이미지
starkshn

작성한 질문수

[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part1: C++ 프로그래밍 입문

캐스팅 4총사

dynamic_cast 질문 18분

작성

·

306

0

dynamic_cast가 상속관계에서 무조건 장점만 있는게 아니라고 하시면서 설명을 해주셨는데

 

타입변환 3 : 포인터에서

원래는 C스타일로 형변환 해주었다면

ItemType에 따라서 static_cast를 해주면 dynamic_cast를 사용하는 것보다 빠르다고 하셨는데

 

가삼함수 테이블 주소를 찾아서 그 주소에 맞게 형변환을 하는 것보다

 

사진처럼 if문과같은 코드들이 있는데 이러한 코드들을 거쳐서 static_cast을 하는것이 dynamic_cast보다 동작 방식이 더 빠른 것인가요?

 

왜 type따라서 미리 분류하여 static_cast를 하는것이 더 빠른가요??

 

답변 1

0

Rookiss님의 프로필 이미지
Rookiss
지식공유자

그렇다고 알려져 있지만, 이런 부분은 환경에 따라 다를 수 있으니
직접 100만번씩 실행하게 해서 직접 시간 측정을 해보시기 바랍니다.
그리고 [타입 체크 후 static_cast]보다 더 좋은 방법이 있긴 한데
예를 들면 언리얼 엔진에서의 Cast는
자체적으로 타입 변환표를 만들어서 더 빠르게 구현을 빠르게 합니다.
(서버C++ 강의의 type_cast와 비슷한 원리)

 

starkshn님의 프로필 이미지
starkshn
질문자

알려주셔서 감사합니다!

 

starkshn님의 프로필 이미지
starkshn

작성한 질문수

질문하기