ในบทความนี้ เราจะพูดถึงการทำงาน ไวยากรณ์ และตัวอย่างของฟังก์ชัน map::emplace_hint() ใน C++ STL
แผนที่ใน C++ STL คืออะไร
แผนที่เป็นคอนเทนเนอร์ที่เชื่อมโยงกัน ซึ่งอำนวยความสะดวกในการจัดเก็บองค์ประกอบที่เกิดขึ้นจากการรวมกันของค่าคีย์และค่าที่แมปในลำดับเฉพาะ ในคอนเทนเนอร์แผนที่ ข้อมูลจะถูกจัดเรียงภายในเสมอโดยใช้คีย์ที่เกี่ยวข้อง ค่าในคอนเทนเนอร์แผนที่สามารถเข้าถึงได้โดยคีย์เฉพาะของมัน
map::emplace_hint() คืออะไร
map::emplace_hint( ) เป็นฟังก์ชันที่อยู่ภายใต้ไฟล์ส่วนหัว
emplace_hint() แทรกองค์ประกอบใหม่หากคีย์ขององค์ประกอบที่จะฝังนั้นไม่ซ้ำกัน การแทรกจะเกิดขึ้นก็ต่อเมื่อไม่มีองค์ประกอบที่มีคีย์ของค่าที่จะแทรก
ไวยากรณ์
map_name.emplace_hint(iterator it, Args&& args);
พารามิเตอร์
ฟังก์ชันนี้ยอมรับพารามิเตอร์ต่อไปนี้ -
มัน − ตัววนซ้ำซึ่งถือได้ว่าเป็นคำใบ้ของตำแหน่งขององค์ประกอบที่จะแทรก
อาร์กิวเมนต์ − อาร์กิวเมนต์หรือค่าที่เราต้องการวางไว้ในตำแหน่ง "มัน"
คืนค่า
หากการแทรกสำเร็จ ฟังก์ชันจะส่งกลับตัววนซ้ำที่ชี้ไปที่องค์ประกอบใหม่ซึ่งถูกแทรก มิฉะนั้นจะคืนค่า iterator เป็นค่าที่เทียบเท่าซึ่งมีอยู่ในคอนเทนเนอร์แล้ว
ตัวอย่าง
อินพุต
map<char, int> newmap; emplace_hint(newmap.end(), ‘a’, 1);
ผลลัพธ์
a
ตัวอย่าง
#include <bits/stdc++.h> using namespace std; int main() { map<int, int> TP_Map; TP_Map.emplace_hint(TP_Map.begin(), 4, 50); TP_Map.emplace_hint(TP_Map.begin(), 2, 30); TP_Map.emplace_hint(TP_Map.begin(), 1, 10); cout<<"TP Map is : \n"; cout << "MAP_KEY\tMAP_ELEMENT\n"; for (auto i = TP_Map.begin(); i!= TP_Map.end(); i++) cout << i->first << "\t" << i->second << endl; return 0; }
ผลลัพธ์
TP Map is: MAP_KEY MAP_ELEMENT 1 10 2 30 4 50