Главная Новости Галерея Вопросы Библиотека Контакты

c++ 템플릿 예제

int 인수를 사용하는 함수 (템플릿이 아닌)가 있다고 가정하십시오 : 클래스 템플릿을 사용합니다! 필요한 모든 메서드가 있는 두 형식에 대한 클래스 템플릿을 정의하기만 하면 됩니다. 시작합시다! Array 클래스 템플릿의 기본 생성자는 컴파일러에서 제공되므로 호출됩니다. 여기에 기록된 사항을 이해하지 못하는 경우 C++ 기술을 선명하게 하십시오. 첫째, 질문을 명확히 하자: 목표는 템플릿 Foo를 만드는 것입니다.하지만 템플릿 매개 변수 목록 std::벡터 또는 std::list 또는 실제로 값을 저장 하는 다른 (비 표준) 컨테이너의 특정 형식을 포함 하는. 그리고 마찬가지로, 우리는 다른 함수 템플릿을 다음과 같이 변경해야합니다 : 우선, 이것은 템플릿 특정 코드가 아닙니다 — 이것은 C ++ 언어 자체에서 제공됩니다. 기본적으로 이 데이터 형식에 대한 기본 생성자 호출을 의미합니다. int의 경우 두 개의 템플릿 매개 변수를 사용하여 항목을 클래스 템플릿으로 완전히 변환하려면 int의 모든 인스턴스를 T로 대체했습니다. 또한 T() 구문을 사용하여 생성자의 초기화자 목록에서 하드 코딩된 0(0) 대신 T의 기본 생성자를 호출했습니다. 함수 템플릿 섹션을 완전히 읽었다면 그 이유를 알 수 있습니다! 첫째, 템플릿 형식 매개 변수의 이름인 TYPE을 기호 T로 바꿉니다. 템플릿 프로그래밍에서는 일반적으로 T를 사용하지만 개인적인 선택입니다.

형식 매개 변수의 의미를 반영하고 코드 가독성을 향상시키는 이름을 사용하는 것이 좋습니다. 이 기호는 C++ 언어의 변수 명명 규칙을 따르는 모든 이름일 수 있습니다. C ++14에서 템플릿은 다음 예제와 같이 변수에도 사용할 수 있습니다. 연산자. 템플릿의 경우 항상 이 형식으로 함께 사용됩니다. 같은 독특한 구조체를 만드는 것은 다소 불필요하고 불필요한 작업으로 나타납니다. 당신은 곧 그것에 몇 멤버가 다른 구조에 대한 이름에서 나올 것입니다. 또한 코드 길이가 증가합니다. 이것에 대한 관점이 무엇이든 간에, 나는 그것을 예로 사용하고 두 명의 멤버가있는 클래스 템플릿을 파생시키고 있습니다.