2 augusti, 2019 Incopia

템플릿 예제

함수 오버로드와 템플릿의 차이점은 무엇입니까? 함수 오버로드와 템플릿 모두 OOP의 다형성 기능의 예입니다. 함수 오버로드는 여러 함수가 유사한 작업을 수행할 때 사용되며, 여러 함수가 동일한 작업을 수행할 때 템플릿이 사용됩니다. 템플릿 전문화란 무엇입니까? 템플릿 전문화 는 우리가 특정 데이터 형식에 대한 다른 코드를 가질 수 있습니다. 자세한 내용은 템플릿 전문화 를 참조하십시오. 다음은 Stack 클래스를 정의하고 스택에서 요소를 푸시하고 팝하는 일반 메서드를 구현하는 예제입니다 – 템플릿은 특정 형식과 는 별개로 코드를 작성하는 것을 포함하는 일반 프로그래밍의 기초입니다. C++ 템플릿에서 컴파일 타임 사례는 템플릿 인수를 통해 패턴 일치를 통해 역사적으로 수행되었습니다. 예를 들어 아래 팩터리얼 예제의 템플릿 기본 클래스는 이전에는 사용할 수 없었던 부등식 테스트가 아닌 0을 일치시켜 구현됩니다. 그러나 std:::conditional과 같은 표준 라이브러리 기능의 C++11에 도착하면 조건부 템플릿 인스턴스화를 처리하는 또 다른 보다 유연한 방법이 제공되었습니다. 이 항공편 예약 양식은 출발일, 출발 시간 및 항공사 정보와 같은 자세한 예약 정보를 수집할 수 있습니다. 단일 항공편 예약 양식 서식 파일을 통해 모든 관련 고객 정보를 캡처하면 판매 프로세스를 간소화하고 승객 관리를 개선하는 데 도움이 됩니다. 다양한 항공편 예약 양식 샘플을 선택하거나 나만의 양식을 만들어 시작해 보세요.

항공편 예약 템플릿을 선택했거나 만든 후에는 JotForm 빌더를 사용하여 테마, 앱 및 위젯으로 양식을 사용자 지정합니다. 예를 들어, 이 것뿐만 아니라 가짜 항공편 예약 양식 템플릿으로 사용할 수 있습니다. 템플릿은 제네릭 클래스 또는 함수를 만들기 위한 청사진 또는 수식입니다. 이터레이터 및 알고리즘과 같은 라이브러리 컨테이너는 일반 프로그래밍의 예이며 템플릿 개념을 사용하여 개발되었습니다. 예를 들어 소셜 미디어 플랫폼의 역사를 보여주는 이 타임라인은 아이콘을 사용하여 각 개별 플랫폼에 대한 지점을 식별합니다. 예를 들어 이 웨딩 데이 타임라인 템플릿을 살펴보십시오. 그래서 시각적 타임라인에 포함하기에 완벽합니다. 사람들이 특정 주제에 대한 정보를 위해 타임라인을 스캔할 수 있도록 널리 인식할 수 있는 의미(예: 소셜 미디어 플랫폼 로고)가 있는 아이콘을 선택합니다. 매크로와 템플릿은 모두 컴파일 타임에 확장됩니다.

매크로는 항상 인라인으로 확장되지만 템플릿은 컴파일러가 적절하다고 판단할 때만 인라인으로 확장됩니다. 인라인으로 확장되면 매크로 함수 및 함수 템플릿에는 불필요한 런타임 오버헤드가 없습니다. 코드 줄이 많은 템플릿 함수는 인라인으로 확장되지 않을 때 런타임 오버헤드가 발생하지만 코드 크기가 줄어도 코드가 CPU의 명령 캐시에 맞게 조정되는 데 도움이 될 수 있습니다. 위에서 언급한 max() 함수와 같은 템플릿의 일부 사용은 이전에 함수와 같은 전처리기 매크로에 의해 수행되었습니다. 예를 들어 다음은 <연산자: 템플릿작동 방법에서 정의된 두 인수의 최대값으로 평가하는 C++ max(max(max() 매크로입니다. 템플릿은 컴파일러 시간에 확장됩니다. 이것은 매크로와 같습니다. 차이점은 컴파일러가 템플릿 을 확장하기 전에 형식 검사를 수행합니다. 아이디어는 간단하고 소스 코드에는 함수 / 클래스만 포함하지만 컴파일 된 코드에는 동일한 함수 / 클래스의 여러 복사본이 포함 될 수 있습니다. 예를 들어 이 타임라인 템플릿이 한 사람의 하루 동안 의 시간을 어떻게 분류하는지 살펴보세요: 이 타임라인 예제에서 아이콘을 사용하여 각 고객 여정을 쉽게 이해할 수 있도록 하는 방법을 살펴보십시오. 예를 들어 strMap std::unordered_map의 약어로 사용할 수 있습니다.