如何访问 c++++ stl 容器中的元素?有以下几种方法:遍历容器:使用迭代器基于范围的 for 循环访问特定元素:使用索引(下标运算符 [])使用键(std::map 或 std::unordered_map)

如何访问 C++ STL 容器中的元素
C++ 标准模板库 (STL) 提供了各种容器,用于高效存储和管理数据。了解如何访问这些容器中的元素对于有效利用 STL 至关重要。
遍历容器
遍历容器并访问其元素有以下方法:
- 迭代器: STL 提供迭代器,可以按顺序访问容器中的元素。
// 使用迭代器遍历 vector vectorv = {1, 2, 3}; for (vector ::iterator it = v.begin(); it != v.end(); ++it) { cout << *it << endl; }
- 基于范围的 for 循环: C++11 引入了基于范围的 for 循环,使得遍历容器更加简洁。
// 使用基于范围的 for 循环遍历 vector vectorv = {1, 2, 3}; for (int& x : v) { cout << x << endl; }
访问特定元素
除了遍历容器之外,还可以通过索引或键来直接访问特定元素:
立即学习“C++免费学习笔记(深入)”;
- 索引: 可以使用下标运算符 ([]) 来访问容器中使用索引的元素。
// 使用下标访问 vector 中的元素 vectorv = {1, 2, 3}; cout << v[0] << endl; // 输出 1
-
键: 如果容器使用键来存储元素,则可以使用
std::map或std::unordered_map中的[]运算符或at()方法。
// 使用键访问 map 中的元素 mapm; m["John"] = 30; cout << m["John"] << endl; // 输出 30
实战案例
假设我们有一个存储学生成绩的 std::vector:
vectorgrades = {90, 85, 95, 88};
以下是如何使用基于范围的 for 循环访问和修改这些元素:
// 使用基于范围的 for 循环遍历和修改 vector
for (int& grade : grades) {
// 将每个成绩增加 5
grade += 5;
}结论
了解如何访问 C++ STL 容器中的元素对于有效使用这些容器至关重要。可以使用迭代器、基于范围的 for 循环、下标运算符或键,具体取决于所使用的容器类型。











