ในบทความนี้ เราจะพูดถึงการทำงาน ไวยากรณ์ และตัวอย่างของตัวดำเนินการแผนที่เท่ากับ '[]' ใน C++ STL
แผนที่ใน C++ STL คืออะไร
แผนที่เป็นคอนเทนเนอร์ที่เชื่อมโยงกัน ซึ่งอำนวยความสะดวกในการจัดเก็บองค์ประกอบที่เกิดขึ้นจากการรวมกันของค่าคีย์และค่าที่แมปในลำดับเฉพาะ ในคอนเทนเนอร์แผนที่ ข้อมูลจะถูกจัดเรียงภายในเสมอโดยใช้คีย์ที่เกี่ยวข้อง ค่าในคอนเทนเนอร์แผนที่สามารถเข้าถึงได้โดยคีย์เฉพาะของมัน
ตัวดำเนินการแผนที่เท่ากับ '[]' คืออะไร
map::operator[] เป็นโอเปอเรเตอร์อ้างอิง โอเปอเรเตอร์นี้ใช้เพื่อเข้าถึงองค์ประกอบในคอนเทนเนอร์โดยใช้คีย์
หากไม่มีคีย์ที่ตรงกันในคอนเทนเนอร์ โอเปอเรเตอร์จะแทรกองค์ประกอบใหม่ด้วยคีย์นั้นและส่งกลับค่าอ้างอิงของค่าที่แมป โอเปอเรเตอร์นี้ทำงานเหมือนกับ map::at() ความแตกต่างเพียงอย่างเดียวคือ at() ส่งข้อยกเว้นเมื่อไม่มีคีย์ในคอนเทนเนอร์แผนที่
ไวยากรณ์
Map_name[key& k];
พารามิเตอร์
มีเพียง 1 พารามิเตอร์ นั่นคือ คีย์ k ที่เราต้องการอ้างอิงในคอนเทนเนอร์
คืนค่า
โอเปอเรเตอร์นี้คืนค่าที่เกี่ยวข้องกับคีย์ k
ป้อนข้อมูล −
map<char, int> newmap; newmap.insert({1, 20}); newmap.insert({2, 30}); newmap[1];
ผลลัพธ์
20
ตัวอย่าง
#include <bits/stdc++.h> using namespace std; int main(){ map<int, int> TP_1; map<int, int> TP_2; TP_1[1] = 10; TP_1[2] = 20; TP_1[3] = 30; TP_1[4] = 40; cout<<"Element at TP[3] is : "<<TP_1[3]; return 0; }
ผลลัพธ์
หากเราเรียกใช้โค้ดข้างต้น มันจะสร้างผลลัพธ์ต่อไปนี้ -
Element at TP[3] is : 30
ตัวอย่าง
#include <bits/stdc++.h> using namespace std; int main(){ map<int, int> TP_1; map<int, int> TP_2; TP_1[1] = 10; TP_1[2] = 20; TP_1[3] = 30; TP_1[4] = 40; cout<<"Element at TP[3] is : "<<TP_1[3]; if(TP_1[5]==0){ cout<<"\nElement at TP[5] doesn't exist"; } else{ cout<<"Element at TP[5] is : "<<TP_1[5]; } return 0; }
ผลลัพธ์
หากเราเรียกใช้โค้ดข้างต้น มันจะสร้างผลลัพธ์ต่อไปนี้ -
Element at TP[3] is : 30 Element at TP[5] doesn't exist