Maison > développement back-end > C++ > Conseils sur l'utilisation des itérateurs en C++

Conseils sur l'utilisation des itérateurs en C++

王林
Libérer: 2023-08-22 17:18:24
original
1321 Les gens l'ont consulté

Conseils sur lutilisation des itérateurs en C++

C++ est un langage de programmation puissant doté de nombreuses fonctionnalités avancées, telles que les itérateurs, qui permettent aux programmeurs d'utiliser plus efficacement les structures de données de la bibliothèque standard. Cet article présentera les compétences d'utilisation des itérateurs afin que vous puissiez mieux utiliser la bibliothèque standard C++.

Qu'est-ce qu'un itérateur ?

Iterator est un concept important en C++. Il s'agit d'un outil d'accès aux données utilisé pour parcourir les éléments d'un conteneur. Il fournit un moyen universel d'accéder à divers conteneurs, notamment des vecteurs, des listes et des cartes, etc.

Les itérateurs ont les types suivants :

  1. Itérateur avant (itérateur avant) : le conteneur ne peut être parcouru que vers l'avant et chaque élément est accessible une et une seule fois.
  2. Itérateur bidirectionnel : vous pouvez parcourir le conteneur en avant et en arrière. Chaque élément est accessible une et une seule fois.
  3. Itérateur à accès aléatoire : il peut effectuer des opérations arithmétiques comme un pointeur, se déplacer librement dans le conteneur et l'adresse d'accès est plus flexible.

Comment utiliser l'itérateur ?

Ce qui suit explique comment utiliser les itérateurs.

  1. Parcours du conteneur

Utilisez un itérateur pour parcourir les éléments du conteneur. Le code est le suivant :

std::vector<int> v{1, 2, 3, 4, 5};
for (auto it = v.begin(); it != v.end(); ++it) {
  std::cout << *it << " ";
}
Copier après la connexion

Dans le code ci-dessus, les méthodes start() et end() du conteneur vectoriel sont utilisées pour obtenir. le point de départ et la fin de la position finale de l'itérateur, puis utilisez une boucle for pour parcourir l'ensemble du conteneur.

  1. Insérer/Supprimer des éléments

Utilisez des itérateurs pour insérer ou supprimer des éléments dans le conteneur Le code est le suivant :

std::vector<int> v{1, 2, 3, 4, 5};
for (auto it = v.begin(); it != v.end(); ++it) {
  if (*it == 3) {
    // 插入元素
    v.insert(it, 6);
    break;
  }
}
for (auto it = v.begin(); it != v.end(); ++it) {
  if (*it == 4) {
    // 删除元素
    v.erase(it);
    break;
  }
}
for (auto i : v) {
  std::cout << i << " ";
}
Copier après la connexion

Dans le code ci-dessus, les méthodes insert() et delete() dans le conteneur vectoriel sont utilisées. itérer L'opérateur précise la position de l'élément à insérer ou à supprimer.

  1. Traversée de plusieurs conteneurs

L'utilisation d'itérateurs peut également parcourir plusieurs conteneurs et opérer sur eux. Le code est le suivant :

std::vector<int> v1{1, 2, 3};
std::vector<int> v2{4, 5, 6};
std::vector<int> v3{7, 8, 9};
// 构造多容器迭代器
auto it1 = v1.begin();
auto it2 = v2.begin();
auto it3 = v3.begin();
for (; it1 != v1.end() && it2 != v2.end() && it3 != v3.end(); ++it1, ++it2, ++it3) {
  std::cout << *it1 << " " << *it2 << " " << *it3 << std::endl;
}
Copier après la connexion

Dans le code ci-dessus, plusieurs conteneurs vectoriels sont utilisés et ils sont parcourus via des itérateurs et imprimés. leurs valeurs d’éléments.

Résumé

Iterator est un puissant outil d'accès aux données en C++, qui peut être utilisé pour parcourir des éléments dans un conteneur, insérer/supprimer des éléments, accéder à plusieurs conteneurs et les utiliser. Maîtriser l'utilisation des itérateurs peut rendre les programmeurs plus compétents dans l'utilisation de la bibliothèque standard C++ et améliorer l'exécution du code et l'efficacité du codage.

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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal