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

map value_comp() ใน C++ STL


ในบทความนี้ เราจะพูดถึงการทำงาน ไวยากรณ์ และตัวอย่างของฟังก์ชัน map::value_comp() ใน C++ STL

แผนที่ใน C++ STL คืออะไร

แผนที่เป็นคอนเทนเนอร์ที่เชื่อมโยงกัน ซึ่งอำนวยความสะดวกในการจัดเก็บองค์ประกอบที่เกิดขึ้นจากการรวมกันของค่าคีย์และค่าที่แมปในลำดับเฉพาะ ในคอนเทนเนอร์แผนที่ ข้อมูลจะถูกจัดเรียงภายในเสมอโดยใช้คีย์ที่เกี่ยวข้อง ค่าในคอนเทนเนอร์แผนที่สามารถเข้าถึงได้โดยคีย์เฉพาะของมัน

map::value_comp() คืออะไร

map::value_comp() เป็นฟังก์ชัน inbuilt ใน C++ STL ซึ่งประกาศไว้ในไฟล์ส่วนหัว value_comp() คืนค่าสำเนาของอ็อบเจ็กต์การเปรียบเทียบ ซึ่งคอนเทนเนอร์แผนที่ใช้สำหรับการเปรียบเทียบ โดยค่าเริ่มต้น ออบเจ็กต์นี้จะน้อยกว่าออบเจ็กต์ของโอเปอเรเตอร์ ซึ่งทำงานคล้ายกับน้อยกว่าโอเปอเรเตอร์

เป็นประเภทของตัวชี้ฟังก์ชันหรือออบเจ็กต์ฟังก์ชันที่ทำการเปรียบเทียบค่าสองค่าของประเภทเดียวกันในชุดใดชุดหนึ่งและคืนค่าเป็น จริง หากองค์ประกอบแรกมีขนาดเล็กกว่าองค์ประกอบที่สองในคอนเทนเนอร์ มิฉะนั้นจะคืนค่าเป็นเท็จ

ไวยากรณ์

Map_name.value_comp(key& k);

พารามิเตอร์

ฟังก์ชันนี้ไม่รับพารามิเตอร์ใดๆ

คืนค่า

ฟังก์ชันนี้ส่งคืนอ็อบเจ็กต์การเปรียบเทียบของคอนเทนเนอร์ชุดที่เกี่ยวข้อง

ตัวอย่าง

อินพุต

map<char, int> newmap;
newmap[‘a’] = 1;
newmap[‘b’] = 2;
newmap[‘c’] = 3;
set<int>::value_compare cmp = myset.value_comp()

ผลลัพธ์

1
2
3

ตัวอย่าง

#include <iostream>
#include <map>
using namespace std;
int main() {
   map<char, int> TP = {
      { 'a', 10 },
      { 'b', 20 },
      { 'c', 30 },
      { 'd', 40 },
      { 'e', 50 },
   };
   auto temp = *TP.rbegin();
   auto i = TP.begin();
   cout <<"Elements in map are : \n";
   do {
      cout<< i->first << " = " << i->second<< endl;
   } while (TP.value_comp()(*i++, temp));
   return 0;
}

ผลลัพธ์

Elements in map are :
a = 10
b = 20
c = 30
d = 40
e = 50