비디오: [개발도구 꿀팁] Visual Studio 2019 새로운 기능들 2024
함수 템플릿을 사용하면 함수처럼 보이지만 컴파일 타임에 C ++가 실제 유형으로 변환하는 하나 이상의 유형 홀더를 사용합니다. 템플릿을 사용할 때 몇 가지를 기억해야합니다.
-
먼저 템플릿에 대한 코드가 생성되지 않습니다 (템플릿은 구체적인 클래스 나 함수로 변환 된 후에 생성됩니다). 이것은.cpp 소스 파일이 거의
모든 멤버 함수를 포함하여 전체 클래스 템플릿 정의는 일반적으로 포함 파일에 포함되어 있으므로 컴파일러가 다음과 같이 사용할 수 있습니다. 둘째, 클래스 템플릿은 메모리를 소비하지 않으므로 클래스 템플릿을 인스턴스화하지 않는 경우 클래스 템플릿을 만들 때 패널티가 발생하지 않습니다. 반면 클래스 템플릿은 인스턴스화 될 때마다 메모리를 사용합니다. Array의 코드는 Array가 이미 있더라도 메모리를 소비합니다.
- 마지막으로 클래스 템플릿을 컴파일하고 실제 클래스로 변환 할 때까지 오류를 검사 할 수 없습니다. 따라서 Array에 명백한 구문 오류가 있어도 Array 클래스 템플릿을 참조하는 프로그램이 컴파일 될 수 있습니다. 배열이나 배열과 같은 클래스가 만들어 질 때까지 오류가 나타나지 않습니다.
-
템플릿에서 함수를 생성하는 것은
템플릿을 인스턴스화합니다 .