해결된 질문
작성
·
350
·
수정됨
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하는 방식이 훨씬 낫다고 봅니다.
이런 부분에서 굳이 그 정도로 성능을 아껴도, 큰 차이가 안 나기 때문이죠.