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

WBOY
リリース: 2024-04-15 12:48:01
オリジナル
470 人が閲覧しました

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 サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート