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; // 输出 1
std::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!