• 카테고리

    질문 & 답변
  • 세부 분야

    게임 프로그래밍

  • 해결 여부

    해결됨

TypeList 수집 관련 질문

23.09.14 22:30 작성 23.09.14 22:32 수정 조회수 214

0

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

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

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

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

답변 1

답변을 작성해보세요.

0

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