ホームページ >バックエンド開発 >C++ >C++ 関数テンプレートでクラス テンプレートを使用するにはどうすればよいですか?

C++ 関数テンプレートでクラス テンプレートを使用するにはどうすればよいですか?

WBOY
WBOYオリジナル
2024-04-15 12:48:01490ブラウズ

C++ 函数模板中的类模板是如何使用的?

#C 関数テンプレート内のクラス テンプレート

C 関数テンプレートはクラス テンプレートを認識し、それをパラメーター タイプとして利用します。これにより、さまざまなデータ型や構造を処理する汎用関数を作成できます。

構文

template<typename T>
void func(const T& arg1, const T2& arg2, ...);

ここで:

  • T は関数パラメーターの型テンプレートです。
  • arg1arg2 および後続のパラメーターは、関数の実際のパラメーターです。

実際的なケース

任意の型の値のペアを出力する関数を考えてみましょう:

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;
}

最初の例では、T1int に推定され、T2 double に推定されます。 。 2 番目の例では、T1T2 の両方が std::string と推定されます。

利点

クラス テンプレートを使用した関数テンプレートには、次の利点があります。

  • コードの再利用性:必要ありません。データ型ごとに複数の関数を作成します。
  • 汎用性: この関数は、型テンプレートの要件を満たす任意のデータ型に適用できます。
  • コードの可読性の向上: 重複コードを削減し、コードの可読性と保守性を向上させます。

以上がC++ 関数テンプレートでクラス テンプレートを使用するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。