Heim > Backend-Entwicklung > C++ > Hauptteil

Wie greife ich auf Elemente im C++-STL-Container zu?

WBOY
Freigeben: 2024-06-05 18:04:51
Original
1132 Leute haben es durchsucht

Wie greife ich auf Elemente im C++-STL-Container zu? Es gibt mehrere Möglichkeiten: Durchlaufen Sie den Container: Verwenden Sie eine bereichsbasierte Iterator-for-Schleife, um auf bestimmte Elemente zuzugreifen: Verwenden Sie einen Index (Indexoperator []) Verwenden Sie einen Schlüssel (std::map oder std::unordered_map)

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

So greifen Sie auf Elemente in C++-STL-Containern zu

Die C++-Standardvorlagenbibliothek (STL) bietet verschiedene Container für die effiziente Speicherung und Verwaltung von Daten. Für die effektive Nutzung der STL ist es wichtig zu verstehen, wie auf Elemente in diesen Containern zugegriffen wird.

Einen Container durchqueren

Es gibt die folgenden Methoden, um einen Container zu durchqueren und auf seine Elemente zuzugreifen:

  • Iteratoren: STL stellt Iteratoren bereit, die nacheinander auf Elemente in einem Container zugreifen können.
// 使用迭代器遍历 vector
vector<int> v = {1, 2, 3};
for (vector<int>::iterator it = v.begin(); it != v.end(); ++it) {
  cout << *it << endl;
}
Nach dem Login kopieren
  • Bereichsbasierte for-Schleife: C++11 führt eine bereichsbasierte for-Schleife ein, wodurch das Durchlaufen von Containern prägnanter wird.
// 使用基于范围的 for 循环遍历 vector
vector<int> v = {1, 2, 3};
for (int& x : v) {
  cout << x << endl;
}
Nach dem Login kopieren

Zugriff auf bestimmte Elemente

Zusätzlich zum Durchlaufen des Containers können Sie auch direkt über Index oder Schlüssel auf bestimmte Elemente zugreifen:

  • Index: Sie können den Indexoperator ([]) verwenden, um auf den Index zuzugreifen die Containerelemente.
// 使用下标访问 vector 中的元素
vector<int> v = {1, 2, 3};
cout << v[0] << endl; // 输出 1
Nach dem Login kopieren
  • Schlüssel: Wenn der Container Schlüssel zum Speichern von Elementen verwendet, können Sie [] in <code>std::map oder std::unordered_map verwenden -Operator oder at()-Methode. std::mapstd::unordered_map 中的 [] 运算符或 at() 方法。
// 使用键访问 map 中的元素
map<string, int> m;
m["John"] = 30;
cout << m["John"] << endl; // 输出 30
Nach dem Login kopieren

实战案例

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

vector<int> grades = {90, 85, 95, 88};
Nach dem Login kopieren

Praktischer Fall

Angenommen, wir haben einen std::vector, der Schülernoten speichert:

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

So greifen Sie auf diese Elemente zu und ändern sie mithilfe einer bereichsbasierten for-Schleife:

rrreee🎜 Fazit 🎜🎜Zu verstehen, wie auf Elemente in C++-STL-Containern zugegriffen wird, ist für die effektive Nutzung dieser Container von entscheidender Bedeutung. Abhängig vom verwendeten Containertyp können Sie Iteratoren, bereichsbasierte For-Schleifen, Indexoperatoren oder Schlüssel verwenden. 🎜

Das obige ist der detaillierte Inhalt vonWie greife ich auf Elemente im C++-STL-Container zu?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage