
C++ 템플릿 - 헤더파일에서 구현하자
·
C++
과제를 하던 도중, 템플릿을 사용하여 vector 클래스를 만들고 있는데 .h 파일에서 정의를 하고 .cpp에서 구현을 하였더니 컴파일러가 링크 에러를 띄워주었다. (LNK1120)이 문제점을 분석하고, 찾은 해결책을 정리해 보도록 할 것이다. 1. 템플릿 프로그래밍템플릿은 코드의 재사용성을 높이기 위한 도구이다. 특히 STL에서 큰 힘을 발휘한다.템플릿 프로그래밍의 동작 방식은 컴파일러가 컴파일 시에 알아서 만들어주는 기능이다.즉 컴파일 도중에 템플릿 인스턴스에 대한 코드를 만들어 주게 된다.예를 들어, 우리가 int res = Add(3, 10); 할 때 컴파일러가 코드를 생성함그래서 템플릿에 넣는 자료형의 가짓수에 비례하여, exe 파일도 증가하게 된다.그 결과, 컴파일 타임은 느리지만 런타임 속도..