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

전재승님의 프로필 이미지
전재승

작성한 질문수

[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버

TypeCast

TypeList 수집 관련 질문

해결된 질문

작성

·

341

·

수정됨

0

영상 구현에서는 TypeList를 직접 작성 했는데 실제 사용에서는 inheritance hierarchy를 탐색해서 TypeList를 생성해야 할 것 같다는 생각이 듭니다.

일단 template meta programming을 잘 다루지 않아서 hierarchy를 어떻게 수집 할 수 있을지도 감이 오지 않네요.

수집이 가능하다 해도 hierarchy가 크다면 hierarchy tree의 클래스 개수 n^2 만큼의 메모리를 점유하게 될 텐데 해당 부분도 우려가 됩니다.

메모리 문제를 해결하기 위해서 _typeId 초기화 시점에 parent id도 추가적으로 선언+초기화하고 런타임 비용을 조금 더 쓰더라도 id를 hierarchy를 따라 올라가서 casting 가능 여부를 판단하는 방식은 어떨까요?

답변 1

0

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

실제로 그런 inheritance 기반의 TypeList도 빨간책에 나옵니다.
그러나 그 정도까지 갈 일은 거의 없었던 것 같네요.
그건 그렇고 요즘엔 이 정도는 enum 하나를 파서 static_cast하는 방식이 훨씬 낫다고 봅니다.
이런 부분에서 굳이 그 정도로 성능을 아껴도, 큰 차이가 안 나기 때문이죠.

전재승님의 프로필 이미지
전재승

작성한 질문수

질문하기