Maison  >  Article  >  développement back-end  >  Comment accéder aux éléments dans le conteneur C++ STL ?

Comment accéder aux éléments dans le conteneur C++ STL ?

WBOY
WBOYoriginal
2024-06-05 18:04:511058parcourir

Comment accéder aux éléments dans le conteneur C++ STL ? Il existe plusieurs façons : Parcourir le conteneur : Utiliser une boucle for basée sur une plage d'itérateur pour accéder à des éléments spécifiques : Utiliser un index (opérateur d'indice []) Utiliser une clé (std::map ou std::unordered_map)

如何访问C++ STL容器中的元素?

Comment accéder aux éléments dans les conteneurs STL C++

La bibliothèque de modèles standard C++ (STL) fournit divers conteneurs pour un stockage et une gestion efficaces des données. Comprendre comment accéder aux éléments de ces conteneurs est essentiel pour utiliser efficacement la STL.

Parcourir un conteneur

Il existe les méthodes suivantes pour parcourir un conteneur et accéder à ses éléments :

  • Itérateurs : STL fournit des itérateurs qui peuvent accéder aux éléments d'un conteneur de manière séquentielle.
// 使用迭代器遍历 vector
vector<int> v = {1, 2, 3};
for (vector<int>::iterator it = v.begin(); it != v.end(); ++it) {
  cout << *it << endl;
}
  • Boucle for basée sur une plage : C++ 11 introduit une boucle for basée sur une plage, rendant le parcours des conteneurs plus concis.
// 使用基于范围的 for 循环遍历 vector
vector<int> v = {1, 2, 3};
for (int& x : v) {
  cout << x << endl;
}

Accéder à des éléments spécifiques

En plus de parcourir le conteneur, vous pouvez également accéder directement à des éléments spécifiques par index ou clé :

  • Index : Vous pouvez utiliser l'opérateur d'indice ([]) pour accéder à l'index dans le conteneur Elements.
// 使用下标访问 vector 中的元素
vector<int> v = {1, 2, 3};
cout << v[0] << endl; // 输出 1
  • Clés : Si le conteneur utilise des clés pour stocker des éléments, vous pouvez utiliser [] dans <code>std::map ou std::unordered_map ou méthode at(). std::mapstd::unordered_map 中的 [] 运算符或 at() 方法。
// 使用键访问 map 中的元素
map<string, int> m;
m["John"] = 30;
cout << m["John"] << endl; // 输出 30

实战案例

假设我们有一个存储学生成绩的 std::vector

vector<int> grades = {90, 85, 95, 88};

Cas pratique

Supposons que nous ayons un std::vector qui stocke les notes des élèves :

// 使用基于范围的 for 循环遍历和修改 vector
for (int& grade : grades) {
  // 将每个成绩增加 5
  grade += 5;
}

Voici comment accéder et modifier ces éléments à l'aide d'une boucle for basée sur une plage :

rrreee🎜 Conclusion 🎜🎜Comprendre comment accéder aux éléments dans les conteneurs C++ STL est essentiel pour utiliser efficacement ces conteneurs. Vous pouvez utiliser des itérateurs, des boucles for basées sur une plage, des opérateurs d'indice ou des clés, selon le type de conteneur que vous utilisez. 🎜

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