Maison > développement back-end > C++ > le corps du texte

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

WBOY
Libérer: 2024-06-05 18:04:51
original
1091 Les gens l'ont consulté

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;
}
Copier après la connexion
  • 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;
}
Copier après la connexion

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
Copier après la connexion
  • 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
Copier après la connexion

实战案例

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

vector<int> grades = {90, 85, 95, 88};
Copier après la connexion

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;
}
Copier après la connexion

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!

É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
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!