ในบทความนี้ เราจะพูดถึงการทำงาน ไวยากรณ์ และตัวอย่างของฟังก์ชัน multimap::value_comp() ใน C++ STL
มัลติแมปใน C++ STL คืออะไร
Multimaps เป็นคอนเทนเนอร์ที่เชื่อมโยงกัน ซึ่งคล้ายกับคอนเทนเนอร์แผนที่ นอกจากนี้ยังอำนวยความสะดวกในการจัดเก็บองค์ประกอบที่เกิดจากการรวมกันของคีย์-ค่าและค่าที่แมปในลำดับเฉพาะ ในคอนเทนเนอร์แบบหลายแผนที่ อาจมีองค์ประกอบหลายรายการที่เกี่ยวข้องกับคีย์เดียวกัน ข้อมูลจะถูกจัดเรียงภายในเสมอโดยใช้คีย์ที่เกี่ยวข้อง
multimap::value_comp() คืออะไร
multimap::value_comp() เป็นฟังก์ชัน inbuilt ใน C++ STL ซึ่งประกาศไว้ในไฟล์ส่วนหัว
เป็นประเภทของตัวชี้ฟังก์ชันหรือออบเจ็กต์ฟังก์ชันที่ทำการเปรียบเทียบค่าสองค่าที่เป็นประเภทเดียวกันใน multimap หนึ่งๆ และคืนค่าเป็น true หากองค์ประกอบแรกมีขนาดเล็กกว่าองค์ประกอบที่สองในคอนเทนเนอร์ มิฉะนั้นจะคืนค่าเป็นเท็จ /P>
ไวยากรณ์
multi_name.value_comp();
พารามิเตอร์
ฟังก์ชันนี้ไม่รับพารามิเตอร์ใดๆ
คืนค่า
ฟังก์ชันนี้ส่งคืนอ็อบเจ็กต์การเปรียบเทียบของคอนเทนเนอร์มัลติแมปที่เกี่ยวข้อง
ป้อนข้อมูล
multimap<char, int> newmap; newmap(make_pair(‘a’, 1)); newmap(make_pair(‘b’, 2)); newmap(make_pair(‘c’, 3)); multimap<int>::value_compare cmp = myset.value_comp();
ผลผลิต
1 2 3
ตัวอย่าง
#include <iostream> #include <map> using namespace std; int main(){ multimap<int, char> mul; //inserting elements at given key mul.insert(make_pair(0, 'A')); mul.insert(make_pair(1, 'B')); mul.insert(make_pair(2, 'C')); mul.insert(make_pair(3, 'D')); pair<int, char> temp = *mul.rbegin(); multimap<int, char>::iterator it = mul.begin(); cout<<"Elements at given key is : "<<'\n'; do { cout << (*it).first << " = " << (*it).second << '\n'; } while (mul.value_comp()(*it++, temp)); return 0; }
ผลลัพธ์
ถ้าเรารันโค้ดด้านบน มันจะสร้างผลลัพธ์ต่อไปนี้ -
Elements at given key is : 0 = A 1 = B 2 = C 3 = D