Untuk lelaran ke atas bekas STL, anda boleh menggunakan fungsi begin() dan end() bekas untuk mendapatkan julat lelaran: Vektor: Gunakan gelung for untuk lelaran ke atas julat lelaran. Senarai terpaut: Gunakan fungsi ahli seterusnya() untuk melintasi elemen senarai terpaut. Pemetaan: Dapatkan lelaran pasangan nilai kunci dan gunakan gelung for untuk melintasi.
Cara melintasi bekas C++ STL
Merentasi bekas Perpustakaan Templat Standard (STL) C++ ialah tugas penting dalam kerja harian pengaturcara. STL menyediakan satu siri struktur data yang dipratentukan seperti vektor, senarai terpaut dan peta, masing-masing dengan kaedah traversalnya sendiri.
Untuk melelaran ke atas vektor, kita boleh menggunakan fungsi begin()
dan end()
untuk mendapatkan julat iterator: begin()
和 end()
函数获得迭代器范围:
#include <vector> int main() { std::vector<int> v = {1, 2, 3, 4, 5}; // 使用基于范围的 for 循环 for (int num : v) { std::cout << num << " "; } std::cout << std::endl; // 使用迭代器 for (std::vector<int>::iterator it = v.begin(); it != v.end(); ++it) { std::cout << *it << " "; } std::cout << std::endl; return 0; }
输出:
1 2 3 4 5 1 2 3 4 5
要遍历一个链表,我们可以使用链表的 front()
和 back()
函数以及该链表的 next()
成员函数:
#include <list> int main() { std::list<int> l = {1, 2, 3, 4, 5}; // 使用基于范围的 for 循环 for (int num : l) { std::cout << num << " "; } std::cout << std::endl; // 使用迭代器 std::list<int>::iterator it = l.begin(); while (it != l.end()) { std::cout << *it << " "; it = it->next(); } std::cout << std::endl; return 0; }
输出:
1 2 3 4 5 1 2 3 4 5
要遍历一个映射,我们可以使用映射的 begin()
和 end()
#include <map> int main() { std::map<std::string, int> m = {{"Apple", 1}, {"Banana", 2}, {"Cherry", 3}}; // 使用基于范围的 for 循环 for (auto const& [key, value] : m) { std::cout << key << ": " << value << std::endl; } std::cout << std::endl; // 使用迭代器 for (std::map<std::string, int>::iterator it = m.begin(); it != m.end(); ++it) { std::cout << it->first << ": " << it->second << std::endl; } return 0; }
Output :
Apple: 1 Banana: 2 Cherry: 3 Apple: 1 Banana: 2 Cherry: 3
depan()
dan back()
senarai terpaut dan seterusnya() Fungsi ahli: 🎜rrreee🎜🎜Output: 🎜🎜rrreee🎜Merentasi pemetaan STL🎜🎜Untuk melintasi pemetaan, kita boleh menggunakan begin()
pemetaan > dan end() code> Fungsi mendapat lelaran pasangan nilai kunci: 🎜rrreee🎜🎜Output: 🎜🎜rrreee
Atas ialah kandungan terperinci Bagaimana untuk mengulangi bekas C++ STL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!