Maison  >  Article  >  développement back-end  >  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
WBOYoriginal
2024-06-03 15:15:57944parcourir

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 是一个指向 vectorbd43222e33876353aff11e13a7dc75f6 容器中元素的常量迭代器:

const vector<int> v = {1, 2, 3, 4, 5};
const vector<int>::const_iterator it = v.cbegin();

访问元素:

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

cout << *it << endl; // 输出:1

前进和后退:

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

++it; // 前进到下一个元素
--it; // 后退到上一个元素

比较:

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

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

实战案例:

以下代码示例演示了如何使用常量迭代器遍历 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 vectorbd43222e33876353aff11e13a7dc75f6 : 🎜
#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;
}
🎜🎜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!

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