Heim >Backend-Entwicklung >C++ >Wie greife ich auf Elemente im C++-STL-Container zu?
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)
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.
Es gibt die folgenden Methoden, um einen Container zu durchqueren und auf seine Elemente zuzugreifen:
// 使用迭代器遍历 vector vector<int> v = {1, 2, 3}; for (vector<int>::iterator it = v.begin(); it != v.end(); ++it) { cout << *it << endl; }
// 使用基于范围的 for 循环遍历 vector vector<int> v = {1, 2, 3}; for (int& x : v) { cout << x << endl; }
Zusätzlich zum Durchlaufen des Containers können Sie auch direkt über Index oder Schlüssel auf bestimmte Elemente zugreifen:
// 使用下标访问 vector 中的元素 vector<int> v = {1, 2, 3}; cout << v[0] << endl; // 输出 1
[] in <code>std::map
oder std::unordered_map
verwenden -Operator oder at()
-Methode. std::map
或 std::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};
Praktischer Fall
std::vector
, der Schülernoten speichert: // 使用基于范围的 for 循环遍历和修改 vector for (int& grade : grades) { // 将每个成绩增加 5 grade += 5; }
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!