首页 >后端开发 >C++ >如何访问C++ STL容器中的元素?

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

WBOY
WBOY原创
2024-06-05 18:04:511168浏览

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

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

如何访问 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::mapstd::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容器中的元素?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn