Maison > développement back-end > C++ > Comment accéder au conteneur C++ STL à l'aide d'un itérateur constant ?

Comment accéder au conteneur C++ STL à l'aide d'un itérateur constant ?

WBOY
Libérer: 2024-06-03 15:15:57
original
961 Les gens l'ont consulté

Réponse : utilisez un itérateur constant pour accéder aux éléments du conteneur STL sans modifier le contenu. Description détaillée : Les itérateurs constants sont obtenus via les méthodes cbegin() et cend() et sont utilisés pour parcourir le conteneur sans modifier les éléments. Utilisez l'opérateur * pour accéder à un élément, renvoyant une référence d'élément. Utilisez les opérateurs ++ et -- pour avancer et reculer dans l'itérateur. Utilisez les opérateurs == et != pour comparer et déterminer si la fin du conteneur a été atteinte.

如何使用常量迭代器访问C++ STL容器?

Comment utiliser des itérateurs constants pour accéder aux conteneurs STL C++

En C++, les conteneurs STL fournissent plusieurs types d'itérateurs, notamment begin() et end() L'itérateur régulier renvoyé par la méthode et l'itérateur constant renvoyé par les méthodes cbegin() et cend(). Les itérateurs constants sont utilisés pour parcourir un conteneur sans modifier son contenu. begin()end() 方法返回的常规迭代器,以及 cbegin()cend() 方法返回的常量迭代器。常量迭代器用于遍历容器而不修改其内容。

语法:

常量迭代器与常规迭代器的语法相同。例如,在以下代码中,it 是一个指向 vector<int> 容器中元素的常量迭代器:

const vector<int> v = {1, 2, 3, 4, 5};
const vector<int>::const_iterator it = v.cbegin();
Copier après la connexion

访问元素:

要访问常量迭代器指向的元素,可以使用 * 运算符。与常规迭代器一样,*it 返回指向元素的引用:

cout << *it << endl; // 输出:1
Copier après la connexion

前进和后退:

与常规迭代器类似,常量迭代器还可以使用 ++-- 运算符进行前进和后退:

++it; // 前进到下一个元素
--it; // 后退到上一个元素
Copier après la connexion

比较:

常量迭代器也可以用 ==!= 运算符进行比较:

if (it == v.cend()) {
  cout << "迭代器指向容器的末尾" << endl;
}
Copier après la connexion

实战案例:

以下代码示例演示了如何使用常量迭代器遍历 vector

🎜Syntaxe : 🎜🎜🎜Les itérateurs constants ont la même syntaxe que les itérateurs réguliers. Par exemple, dans le code suivant, it est un itérateur constant pointant vers les éléments du conteneur vector<int> : 🎜
#include <iostream>
#include <vector>

int main() {
  const vector<int> v = {1, 2, 3, 4, 5};

  // 使用常量迭代器遍历容器
  for (const vector<int>::const_iterator it = v.cbegin(); it != v.cend(); ++it) {
    cout << *it << " "; // 输出:1 2 3 4 5
  }

  return 0;
}
Copier après la connexion
🎜🎜Pour accéder à un élément : 🎜🎜 🎜Pour accéder à une constante Pour l'élément pointé par l'itérateur, vous pouvez utiliser l'opérateur *. Comme les itérateurs normaux, *it renvoie une référence à l'élément : 🎜rrreee🎜🎜Avant et arrière : 🎜🎜🎜Comme les itérateurs normaux, les itérateurs constants peuvent également utiliser ++ et Opérateurs <code>-- pour l'avant et l'arrière : 🎜rrreee🎜🎜Comparaison : 🎜🎜🎜Les itérateurs constants peuvent également être utilisés avec == et != opérateur de comparaison : 🎜rrreee🎜🎜Exemple pratique : 🎜🎜🎜L'exemple de code suivant montre comment utiliser un itérateur constant pour parcourir un conteneur vecteur : 🎜rrreee

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