#C 関数テンプレート内のクラス テンプレート
C 関数テンプレートはクラス テンプレートを認識し、それをパラメーター タイプとして利用します。これにより、さまざまなデータ型や構造を処理する汎用関数を作成できます。
構文
template<typename T> void func(const T& arg1, const T2& arg2, ...);
ここで:
T
は関数パラメーターの型テンプレートです。 arg1
、arg2
および後続のパラメーターは、関数の実際のパラメーターです。 実際的なケース
任意の型の値のペアを出力する関数を考えてみましょう:
template <typename T1, typename T2> void print_pair(const T1& a, const T2& b) { std::cout << a << " " << b << std::endl; }
この関数を適用できますテンプレートをさまざまな型の組み合わせに変換:
int main() { print_pair(1, 2.5); // 打印整数和浮点数 print_pair("Hello", "World"); // 打印字符串 return 0; }
最初の例では、T1
は int
に推定され、T2
は double に推定されます。
。 2 番目の例では、T1
と T2
の両方が std::string
と推定されます。
利点
クラス テンプレートを使用した関数テンプレートには、次の利点があります。
以上がC++ 関数テンプレートでクラス テンプレートを使用するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。