如何访问 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; }
登录后复制
访问特定元素
除了遍历容器之外,还可以通过索引或键来直接访问特定元素:
- 索引: 可以使用下标运算符 ([]) 来访问容器中使用索引的元素。
// 使用下标访问 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 循环、下标运算符或键,具体取决于所使用的容器类型。
以上就是如何访问C++ STL容器中的元素?的详细内容,更多请关注叮当号网其它相关文章!
文章来自互联网,只做分享使用。发布者:代号邱小姐,转转请注明出处:https://www.dingdanghao.com/article/561120.html