ในบทความนี้เราจะพูดถึงการทำงาน ไวยากรณ์และตัวอย่างของฟังก์ชัน map::cbegin() และ map::cend() ใน C++ STL
แผนที่ใน C++ STL คืออะไร
แผนที่เป็นคอนเทนเนอร์ที่เชื่อมโยงกัน ซึ่งอำนวยความสะดวกในการจัดเก็บองค์ประกอบที่เกิดขึ้นจากการรวมกันของค่าคีย์และค่าที่แมปในลำดับเฉพาะ ในคอนเทนเนอร์แผนที่ ข้อมูลจะถูกจัดเรียงภายในเสมอโดยใช้คีย์ที่เกี่ยวข้อง ค่าในคอนเทนเนอร์แผนที่สามารถเข้าถึงได้โดยคีย์เฉพาะของมัน
แผนที่::cbegin() คืออะไร
map::cbegin() function is an inbuilt function in C++ STL, which is defined in <map> header file. cbegin() is the constant begin function.
ฟังก์ชันนี้ส่งคืนตัววนซ้ำคงที่ซึ่งชี้ไปที่องค์ประกอบแรกในคอนเทนเนอร์แผนที่ ตัววนซ้ำที่ส่งคืนคือตัววนซ้ำคงที่ ไม่สามารถใช้แก้ไขเนื้อหาได้ เราสามารถใช้พวกมันเพื่อสำรวจองค์ประกอบต่างๆ ของคอนเทนเนอร์แผนที่โดยเพิ่มหรือลดตัววนซ้ำ
ไวยากรณ์
newmap.cbegin();
พารามิเตอร์
ฟังก์ชันนี้ไม่รับพารามิเตอร์ใดๆ
คืนค่า
ส่งคืนตัววนซ้ำที่ชี้ไปที่องค์ประกอบแรกของคอนเทนเนอร์แผนที่ที่เกี่ยวข้อง
ตัวอย่าง
อินพุต
map<char, int> newmap; newmap[‘a’] = 1; newmap[‘b’] = 2; newmap[‘c’] = 3; newmap.cbegin();
ผลลัพธ์
a = 1
ตัวอย่าง
#include <bits/stdc++.h> using namespace std; int main() { map<int, int> TP_Map; TP_Map.insert({3, 50}); TP_Map.insert({2, 30}); TP_Map.insert({1, 10}); TP_Map.insert({4, 70}); //using map::cbegin to fetch first element auto temp = TP_Map.cbegin(); cout <<"First element is: "<<temp->first << " -> " << temp->second; cout<<"\nTP Map is : \n"; cout << "MAP_KEY\tMAP_ELEMENT\n"; for (auto i = TP_Map.cbegin(); i!= TP_Map.cend(); i++) { cout << i->first << "\t" << i->second << endl; } return 0; }
ผลลัพธ์
First element is: 1 -> 10 TP Map is: MAP_KEY MAP_ELEMENT 1 10 2 30 3 50 4 70
map::cend() คืออะไร
ฟังก์ชัน map::cend() เป็นฟังก์ชัน inbuilt ใน C++ STL ซึ่งกำหนดไว้ในไฟล์ส่วนหัว
iterator ที่ส่งคืนคือ iterator คงที่ ไม่สามารถใช้เพื่อแก้ไขเนื้อหาได้ เราสามารถใช้พวกมันเพื่อสำรวจระหว่างองค์ประกอบของคอนเทนเนอร์แผนที่โดยการเพิ่มหรือลดการ iterator
map::cbegin() และ map::cend() ใช้เพื่อข้ามผ่านคอนเทนเนอร์ทั้งหมดโดยให้การเริ่มต้นของช่วงและจุดสิ้นสุดของช่วง
ไวยากรณ์
newmap.cend();
พารามิเตอร์
ฟังก์ชันนี้ไม่รับพารามิเตอร์ใดๆ
คืนค่า
ส่งคืนตัววนซ้ำที่ชี้ไปยังองค์ประกอบสุดท้ายของคอนเทนเนอร์แผนที่ที่เกี่ยวข้องในอดีต
ตัวอย่าง
อินพุต
map<char, int> newmap; newmap[‘a’] = 1; newmap[‘b’] = 2; newmap[‘c’] = 3; newmap.cend();
ผลลัพธ์
error
ตัวอย่าง
#include <bits/stdc++.h> using namespace std; int main() { map<int, int> TP_Map; TP_Map.insert({3, 50}); TP_Map.insert({2, 30}); TP_Map.insert({1, 10}); TP_Map.insert({4, 70}); cout<<"\nTP Map is : \n"; cout << "MAP_KEY\tMAP_ELEMENT\n"; for (auto i = TP_Map.cbegin(); i!= TP_Map.cend(); i++) { cout << i->first << "\t" << i->second << endl; } return 0; }
ผลลัพธ์
TP Map is: MAP_KEY MAP_ELEMENT 1 10 2 30 3 50 4 70