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)

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.
The following methods are available to traverse a container and access its elements:
// 使用迭代器遍历 vector
vector<int> v = {1, 2, 3};
for (vector<int>::iterator it = v.begin(); it != v.end(); ++it) {
cout << *it << endl;
}// 使用基于范围的 for 循环遍历 vector
vector<int> v = {1, 2, 3};
for (int& x : v) {
cout << x << endl;
}In addition to traversing the container, you can also directly access specific elements through the index or key:
// 使用下标访问 vector 中的元素
vector<int> v = {1, 2, 3};
cout << v[0] << endl; // 输出 1std::map or std::unordered_map [] operator or at() method in . // 使用键访问 map 中的元素 map<string, int> m; m["John"] = 30; cout << m["John"] << endl; // 输出 30
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;
}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!
What are the differences between c++ and c language
Recommended learning order for c++ and python
Cost-effectiveness analysis of learning python and c++
Is c language the same as c++?
Which is better to learn first, c language or c++?
The difference and connection between c language and c++
C++ software Chinese change tutorial
Cost-effectiveness analysis of learning python, java and c++