首頁  >  文章  >  後端開發  >  如何存取C++ STL容器中的元素?

如何存取C++ STL容器中的元素?

WBOY
WBOY原創
2024-06-05 18:04:511057瀏覽

如何存取 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