c++ template 빌드 질문

c++ 공부를 하는데 템플릿 만들때 빌드에러가 나서 검색을 해보니까 템플릿을 만들때는 어떠한 타입이 들어올지는 컴파일때까지 결정나지 않아서 한파일에 넣어놔야지 에러가 안난다고 하더라고요,

그거 자체는 이해가 되는데 그러면 템플릿으로된 클래스를 제공하는 라이브러리는 미리 만들 수가 없는건가요??

예를들어서 우리가 자주쓰는 vector는 사용자가 vector 헤더를 인클루드해서 사용을하는데 vector클래스가 libc++ 이런 라이브러리에 있는게 아니라 사용자가 vector를 쓴 코드를 컴파일할때 같이 컴파일되는건가요?

말로 설명이 어려워서 질문이 잘 전달됬는지 모르겠네요 ㅠㅠ

사용자가 vector를 쓴 코드를 컴파일할때 같이 컴파일되는건가요?

마자용

%EB%8B%A4%EC%9A%B4%EB%A1%9C%EB%93%9C

감사합니다. 템플렛으로 제공되는애들은 바이너리로 되있는게 아닌건가보네요

템플릿 라이브러리들을 보시면 헤더파일로만 이루어져 있습니다.
즉, 그 자체로는 목적 파일로의 컴파일이 이루어지지 않습니다.
그 헤더 파일을 include하고 타입 특수화를 하는 cpp파일이 존재할 때 컴파일시 목적 파일이 생성됩니다.