템플릿 인자로 던지는 클래스 이름을

문자열로 바꿀 수 있다

예를 들어

AddComponent<Transform>();
이라는 템플릿 함수가 있다고 치자

꺽세 가로안에 저 Transform을

char버퍼에 담을수있다

존나 쓸데없을것 같지?

그럼 이거는?

Transform* tr = AddComponent<Transform>();

나는 이렇게 호출함으로써 어떠한 매개변수를 주지않고도

map<const char*, Transform*>이라는 맵컨테이너에

저 데이터를 등록시켰다

이 원리를 모른다면

Enum으로 매개변수를 줘서

해당 이넘일때 라는 분기문을 존나 노가다해야할텐데

나는 이 과정을 앞에서 설명한 원리로 하지 않아도 된다 이말이다