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

How to access elements in C++ STL container?

WBOY
Release: 2024-06-05 18:04:51
Original
1169 people have browsed it

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;
}
Copy after login
  • 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;
}
Copy after login

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
Copy after login
  • 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
Copy after login

Practical case

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

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

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;
}
Copy after login

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!

Related labels:
source:php.cn
Statement of this Website
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
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template