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

map::operator[] ในโปรแกรม C++ STL


ในบทความนี้ เราจะพูดถึงการทำงาน ไวยากรณ์ และตัวอย่างของตัวดำเนินการแผนที่เท่ากับ '[]' ใน 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