C++ template 함수의 정의


" 템플릿 함수의 경우는 그 특성상 헤더에 정의를 해야합니다.
관례적으로 템플릿함수가 정의된 헤더는 .hpp 를 사용합니다.

저의 경우 헤더에 정의코드가 들어가면 헤더파일의 가독성이 떨어지는 것을 막기 위해 .hpp 와 .h 둘다 만들고 .h 에서 .hpp 를 include 하게 하고 템플릿 함수의 정의를 .hpp 에 넣는 방식을 사용합니다.
이렇게 하면 함수나 클래스의 사용자는 .h 만 include 하면 되기때문에 .hpp 도 같이 해야할지 말아야할지 여부를 고민하지 않아도 되고, .hpp 의 존재 여부도 알 필요가 없지요. "