호출 규칙 및 C ++ 템플릿 함수의 일반적인 기능

템플릿 기능과 정상적인 기능을 달성 할 수있는 경우 1. 우선 순위는 일반 함수를 호출합니다.

2. 통화가 빈 템플릿 함수 템플릿 매개 변수 목록에 의해 강제 될 수있다;

3. 기능 템플릿이 과부하 될 수있다;

4. 기능 템플릿이 더 나은 경기를 생산할 수 있다면, 우선 순위 통화 기능 템플릿;

사용법 #include <iostream>
 사용  스페이스 성병; 

INT myAdd ( INT A, INT의 b) { 
    COUT << " 调用普通函数" << ENDL;
    리턴 A +의 B 단계; 
} 
템플릿 < 클래스 T> 
T myAdd (T A, T의 b) { 
    COUT << " 调用函数模板" << ENDL;
    리턴 A +의 B 단계; 
} 
템플릿 < 클래스 T> 
T myAdd (T A, B를 T, T의 C) { 
    COUT << "오버 기능 템플릿 호출 " << ; ENDL
      A + B] 
} 
공극 테스트 () {
     INT A = 10 ,
     INT는 B = 20이다 ;
     // . (1) 여기서, 일반적인 함수 호출 
    COUT << myAdd (A, B) << ENDL ;
     // 2 함수 호출 템플릿 
    COUT << myAdd은 <> (A, B) << ENDL;
     // . (3) 여기에서 과부하 함수 호출 템플릿 
    COUT << myAdd (A, B, 100 ) << ENDL;
     // . (4) 여기서, 통화 기능 템플릿 
    COUT << myAdd ( ' ' , ' B ') <<ENDL; 
} 

INT 의 main () { 
    시험 (); 
    시스템 ( " 정지 " );
    반환  0 ; 
}

추천

출처www.cnblogs.com/xiximayou/p/12106230.html