안녕하세요. C++로 프로그래밍하다 보면, 비슷한 로직인데 처리하는 데이터 타입만 다른 함수를 여러 개 만들어야 할 때가 있습니다. 예를 들어, 두 개의 정수를 더하는 함수 add_int(int a, int b)와 두 개의 실수를 더하는 함수 add_float(float a, float b) 코드로 나눠져 있다면, 코드가 중복되고 관리하기 번거로울 것입니다. C++은 함수 템플릿(Function Template)이라는 함수 템플릿을 사용하면, 타입에 구애받지 않는 함수 "틀"을 만들어 놓고, 컴파일 시점에 실제 필요한 타입의 함수를 자동으로 생성하게 할 수 있습니다. 이미 알게 모르게 사용하고 있을 수 있지만, 기초 방법과 연계해서 +1 지식을 알아보도록 하겠습니다. 1. 함수 템플릿이란? ..