RTTI란?
1-1). 프로그램 실행 중, 실시간으로 객체의 타입을 얻어올 때 사용하는 방법
1-2). 사용 라이브러리
RTTI를 사용하기 위한 방법
2-1). virtual map으로 연결시켜주자
#include <iostream>
#include <typeinfo>
class Parent
{
public :
virtual void DoSomething() = 0;
};
class Child : public Parent
{
public :
virtual void DoSomething()
{
// Do Something ...
}
};
int main()
{
Parent* Value = new Child;
std::cout << typeid( *Value ).name() << std::endl;
// class Child
return 0;
};
2-2). RTTI를 활용하여서, 다운 캐스팅( 부모->자식 형변환 ) 할 객체를 확실히 한 후에,
static_cast 을 통하여 형변환을 진행
Resource Manager
1-1). 기존 map
1-2). 새 map
1-3). Resource Create 시, 기존의 방법 유지 -> template 사용 O
1-4). Resource Get 시, auto return -> template 사용 X
IResource
2-1). 기존 IResource
2-2). 새 IResource