関数テンプレートと一般関数の違い

1346 ワード

一、関数テンプレートと普通の関数が一緒に規則を呼び出す
1.関数テンプレートは、通常の関数のように再ロードすることができる.関数テンプレートと一般関数が呼び出し要求を満たす場合、c++コンパイラは一般関数3を優先する.関数テンプレートがより良い一致を生成できる場合は、テンプレート4を選択します.空のテンプレートの実パラメータリストを使用できる構文限定コンパイラは、テンプレートマッチングのみで使用できます.
二、example
1.例:
 	//1
	template	
	void Print(T a){
		cout << a << endl;
	}
	//2
	template
	void Print(T a, T b){
		cout << a << " " << b << endl;
	}
  • 	//    
    	template	
    	void Print(T a){
    		cout << a << endl;
    	}
    	//    
    	void Print(int a)
    	{
    		cout << a << endl;
    	}
    	void test()
    	{
    		int tmp = 3;
    		double f = 2.2;
    		Print(tmp);  	//      
    		Print(f); 	//      
    	}
    
  • 	//    
    	template	
    	void Print(T a){
    		cout << a << endl;
    	}
    	//    
    	void Print(int a)
    	{
    		cout << a << endl;
    	}
    	void test()
    	{
    		int tmp = 3;
    		double f = 2.2;
    		Print(tmp);  	//      
    		Print(f); 	//      
    	}
    
  • 	//    
    	template	
    	void Print(T a){
    		cout << a << endl;
    	}
    	//    
    	void Print(int a)
    	{
    		cout << a << endl;
    	}
    	void test()
    	{
    		int tmp = 3;
    		Print(tmp);  	//      
    		Print<>(tmp); 	//      
    	}