호출 시점에 함수를 만드는 것이 템플릿
typeid(class).name() : 클래스의 이름을 가져옵니다. (RTTI)
사용법
template <class T>
void set_scene(T* class_in)
{
E_GAME_SCENE_TYPE new_scene_type = E_GAME_SCENE_TYPE::GST_COUNT;
// 클래스의 이름끼리 비교할 때
if (typeid(class_in).name() == typeid(_title_scene).name())
new_scene_type = E_GAME_SCENE_TYPE::GST_TITLE;
else if (typeid(class_in).name() == typeid(_lobby_scene).name())
new_scene_type = E_GAME_SCENE_TYPE::GST_LOBBY;
else if (typeid(class_in).name() == typeid(_baracks_scene).name())
new_scene_type = E_GAME_SCENE_TYPE::GST_BARRACK;
if (!_scene_array[static_cast<unsigned int>(new_scene_type)])
_scene_array[static_cast<unsigned int>(new_scene_type)] = class_in;
}
'C,C++ > 공부 낙서' 카테고리의 다른 글
공부하면서 빠트린 것들 끄적끄적 - 컴파일타임, 런타임 (0) | 2022.11.18 |
---|---|
공부하면서 빠트린 것들 끄적끄적 - 연산자 (0) | 2022.11.18 |
공부하면서 빠트린 것들 끄적끄적 - 가상함수, 형변환 (0) | 2022.11.15 |
공부하면서 빠트린 것들 끄적끄적 - 헤더 참조 (0) | 2022.11.07 |
공부하면서 빠트린 것들 끄적끄적 - const (0) | 2022.11.04 |