Programing General/C \ C++1 [C++] template class 템플릿 클래스 파일 분할 템플릿 클래스의 파일 분할은 일반적인 클래스의 파일 분할과는 방법이 다르다. 우선 직접적인 구현 이전에 왜 템플릿 클래스는 일반적인 클래스처럼 파일을 헤더파일과 소스파일(cpp)로 분할할 수 없는지 알아보자. 왜 오류가 나는가? 템플릿 클래스를 헤더파일에서 선언하고, cpp파일에서 구현한다면 다음과 같은 링크 오류를 만나게 된다. 일반 함수와는 다르게 템플릿은 컴파일 시점에 인스턴스가 생성되어야 한다. 왜냐하면 일반 함수는 컴파일 시점에 정의를 볼 수 없어도, 함수가 호출 되면 어떤 함수가 호출되었는지 링킹 과정에서 파악할 수 있다. 하지만 템플릿은 호출 될 때마다 그 정의를 확인해야 정확한 코드를 작성할 수 있다. 즉, 사용되는 개별 번역단위(translation unit)마다 그 정의를 포함시켜줘야 .. 2020. 5. 20. 이전 1 다음