ホームページ  >  記事  >  バックエンド開発  >  C++ 標準ライブラリのテンプレートの例は?

C++ 標準ライブラリのテンプレートの例は?

PHPz
PHPzオリジナル
2024-05-09 08:21:01465ブラウズ

C++ 標準ライブラリのテンプレートのアプリケーション: ベクター テンプレート: 動的に増加する要素のコレクションを保存および管理するために使用されます。マップ テンプレート: キーと値のペアを保存するために使用されます。キーは比較でき、値は任意のタイプにすることができます。カスタム テンプレート クラス: さまざまなタイプにパラメータ化できる汎用コード クラスの作成を許可します。

C++ 標準ライブラリのテンプレートの例は?

C++ 標準ライブラリのテンプレート例

C++ 標準ライブラリでは、テンプレートを広範囲に使用して、再利用可能でタ​​イプセーフで効率的なコードを提供します。テンプレートは、さまざまなタイプにパラメータ化できる汎用コードを作成するための青写真です。

vector template

vector は、C++ 標準ライブラリで一般的に使用されるテンプレート コンテナーです。これは、要素のコレクションを保存および管理するために使用される動的配列です。

#include <vector>

int main() {
  // 创建一个空 vector
  std::vector<int> v;

  // 添加元素
  v.push_back(1);
  v.push_back(2);
  v.push_back(3);

  // 访问元素
  for (int i = 0; i < v.size(); i++) {
    std::cout << v[i] << " ";
  }

  // 输出:1 2 3
  return 0;
}

この例では、int 型のデータを格納するためにベクター テンプレートが使用されています。空のベクトルを作成し、push_back メソッドを使用して要素を追加しました。要素には [] 演算子を介してアクセスできます。

マップ テンプレート

マップは、キーと値のペアを保存するために使用される別のテンプレート コンテナーです。キーは同等の任意の型にすることができ、値は任意の型にすることができます。

#include <map>

int main() {
  // 创建一个空 map
  std::map<std::string, int> m;

  // 添加键值对
  m["Alice"] = 20;
  m["Bob"] = 30;

  // 访问值
  std::cout << m["Alice"] << std::endl;  // 输出:20

  return 0;
}

この例では、マップ テンプレートを使用して、string 型のキーと int 型の値を保存します。空のマップを作成し、[] 演算子を使用してキーと値のペアを追加しました。値にはキー名でアクセスできます。

カスタム テンプレート クラス

標準ライブラリによって提供されるテンプレートに加えて、独自のテンプレート クラスを作成することもできます。たとえば、要素の最小値または最大値を見つけるためのテンプレート クラスを作成できます:

template <typename T>
T find_max(T a, T b) {
  return (a > b) ? a : b;
}

int main() {
  int max_int = find_max(10, 20);  // 返回 20
  double max_double = find_max(3.14, 2.71);  // 返回 3.14

  return 0;
}

この例では、find_max テンプレート関数を使用して 2 つの要素の最小値または最大値を見つけます。この例に示すように、比較可能な任意の型に対してパラメータ化できます。

以上がC++ 標準ライブラリのテンプレートの例は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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