Maison  >  Article  >  développement back-end  >  Des exemples de modèles dans la bibliothèque standard C++ ?

Des exemples de modèles dans la bibliothèque standard C++ ?

PHPz
PHPzoriginal
2024-05-09 08:21:01466parcourir

Application des modèles dans la bibliothèque standard C++ : modèle vectoriel : utilisé pour stocker et gérer des collections d'éléments en croissance dynamique. modèle de carte : utilisé pour stocker des paires clé-valeur, les clés peuvent être comparées et les valeurs peuvent être de n'importe quel type. Classes de modèles personnalisés : permet la création de classes de code génériques pouvant être paramétrées pour différents types.

Des exemples de modèles dans la bibliothèque standard C++ ?

Exemples de modèles dans la bibliothèque standard C++

La bibliothèque standard C++ utilise largement des modèles pour fournir un code réutilisable, sûr et efficace. Les modèles sont des modèles permettant de créer du code générique pouvant être paramétré pour différents types.

modèle vectoriel

vecteur est un conteneur de modèles couramment utilisé dans la bibliothèque standard C++. Il s'agit d'un tableau dynamique utilisé pour stocker et gérer des collections d'éléments.

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

Dans cet exemple, un modèle vectoriel est utilisé pour stocker des données de type int. Nous avons créé un vecteur vide puis ajouté des éléments à l'aide de la méthode push_back. Les éléments sont accessibles via l'opérateur [].

map template

map est un autre conteneur de modèles utilisé pour stocker des paires clé-valeur. Les clés peuvent être de n'importe quel type comparable et les valeurs peuvent être de n'importe quel type.

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

Dans cet exemple, le modèle de carte est utilisé pour stocker des clés de type string et des valeurs de type int. Nous avons créé une carte vide et ajouté des paires clé-valeur à l'aide de l'opérateur []. Les valeurs sont accessibles par nom de clé.

Classes de modèles personnalisés

En plus des modèles fournis par la bibliothèque standard, nous pouvons également créer nos propres classes de modèles. Par exemple, nous pouvons créer une classe modèle pour trouver la valeur minimale ou maximale d'un élément :

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

Dans cet exemple, la fonction modèle find_max est utilisée pour trouver la valeur minimale ou maximale de deux éléments. Il peut être paramétré par rapport à n’importe quel type comparable, comme le montre cet exemple.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn