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

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











