Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C++

แม็พ cbegin() และ cend() ฟังก์ชั่นใน C++ STL


ในบทความนี้เราจะพูดถึงการทำงาน ไวยากรณ์และตัวอย่างของฟังก์ชัน 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 ซึ่งกำหนดไว้ในไฟล์ส่วนหัว ฟังก์ชัน cend() คือจุดสิ้นสุดคงที่ () ฟังก์ชันนี้จะคืนค่าตัววนซ้ำคงที่ขององค์ประกอบที่ผ่านองค์ประกอบสุดท้ายในคอนเทนเนอร์แผนที่ที่เกี่ยวข้อง

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