generic #template은 C++의 generic한 기능을 받쳐주는 핵심적인 도구입니다. 이 도구에 의해 탄생한 STL과 표준 라이브러리들은 확장성과 타입 안정성등의 이점으로 다른 언어의 라이브러리들과는 다른 진화된 디자인을 보여주고 있습니다. 이름 그대로 template은 타입에대한 명세서와 같습니다. template 자체가 타입이 아니고 타입에 대한 내용을 기술함으로서 타입생성에 틀이 되는 것입니다. 붕어빵을 예를들면 붕어빵에 팥을 넣느냐 아니면 계란을 넣느냐에 따라 붕어모양의 붕어빵이 나오느냐 붕어모양의 계란빵이 나오느냐와 같은 이치입니다. 그 붕어빵 틀이 template 입니다. template # #include using std::string; template T Add(T tp1, T..