Home >Backend Development >C++ >How to access elements in C++ STL container?

How to access elements in C++ STL container?

WBOY
WBOYOriginal
2024-06-05 18:04:511164browse

How to access elements in a C++ STL container? There are several ways: Traverse the container: use an iterator range-based for loop to access specific elements: use an index (subscript operator []) use a key (std::map or std::unordered_map)

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

How to access elements in C++ STL containers

The C++ Standard Template Library (STL) provides various containers for efficient storage and management of data. Understanding how to access elements within these containers is critical to effectively utilizing the STL.

Traverse a container

The following methods are available to traverse a container and access its elements:

  • Iterator: STL provides iterators, which can be used in sequence Access the elements in the container.
// 使用迭代器遍历 vector
vector<int> v = {1, 2, 3};
for (vector<int>::iterator it = v.begin(); it != v.end(); ++it) {
  cout << *it << endl;
}
  • Range-based for loop: C++11 introduces the range-based for loop, making traversing the container more concise.
// 使用基于范围的 for 循环遍历 vector
vector<int> v = {1, 2, 3};
for (int& x : v) {
  cout << x << endl;
}

Accessing specific elements

In addition to traversing the container, you can also directly access specific elements through the index or key:

  • Index : You can use the subscript operator ([]) to access elements in the container using indexes.
// 使用下标访问 vector 中的元素
vector<int> v = {1, 2, 3};
cout << v[0] << endl; // 输出 1
  • Keys: If the container uses keys to store elements, you can use std::map or std::unordered_map [] operator or at() method in .
// 使用键访问 map 中的元素
map<string, int> m;
m["John"] = 30;
cout << m["John"] << endl; // 输出 30

Practical case

Suppose we have a std::vector that stores student grades:

vector<int> grades = {90, 85, 95, 88};

The following is how to use range-based The for loop accesses and modifies these elements:

// 使用基于范围的 for 循环遍历和修改 vector
for (int& grade : grades) {
  // 将每个成绩增加 5
  grade += 5;
}

Conclusion

Understanding how to access elements in C++ STL containers is critical to using these containers effectively. You can use iterators, range-based for loops, subscript operators, or keys, depending on the type of container you are using.

The above is the detailed content of How to access elements in C++ STL container?. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn