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

deque::operator=และ deque::operator[] ใน C++ STL


ในบทความนี้เราจะพูดถึงการทำงาน ไวยากรณ์และตัวอย่างของ deque::operator=และ deque::operator[] ใน C++ STL

เด็คคืออะไร

Deque คือ Double Ended Queues ซึ่งเป็นคอนเทนเนอร์ลำดับที่ให้การทำงานของการขยายและการหดตัวทั้งสองด้าน โครงสร้างข้อมูลคิวอนุญาตให้ผู้ใช้แทรกข้อมูลได้เฉพาะที่ END และลบข้อมูลออกจาก FRONT ลองมาเปรียบเทียบคิวที่ป้ายรถเมล์ที่คนสามารถแทรกลงในคิวจาก END เท่านั้นและบุคคลที่ยืนอยู่ด้านหน้าจะเป็นคนแรกที่ถูกลบในขณะที่ในคิวแบบ Double End การแทรกและการลบข้อมูลทำได้ทั้งสองแบบ จบ.

deque::operator =?

. คืออะไร

deque::operator =ใช้เพื่อกำหนดค่าใหม่ให้กับคอนเทนเนอร์ deque โดยแทนที่ค่าที่มีอยู่แล้ว โอเปอเรเตอร์นี้ยังปรับเปลี่ยนขนาดของคอนเทนเนอร์ deque ตามค่าใหม่

ไวยากรณ์

mydeque1 = mydeque2;

ต้องมีคอนเทนเนอร์ deque อื่นที่เป็นประเภทเดียวกัน

คืนค่า

โอเปอเรเตอร์ส่งคืน * ตัวชี้นี้ของคอนเทนเนอร์ deque ที่มีข้อมูลที่เราต้องการกำหนด

ตัวอย่าง

Input: deque<int> odd = {1, 3, 5, 7};
   Deque<int> eve = {2, 4, 6};
   odd = eve;
Output:
   Odd: 2, 4, 6
   Eve: 2, 4, 6

ตัวอย่าง

#include <deque>
#include <iostream>
using namespace std;
int main(){
   deque<int> Deque_1 = { 10, 20, 30 };
   deque<int> Deque_2 = { 30, 20, 10 };
   deque<int> Deque_3 = {};
   //it will swap the elements of both the deque
   Deque_3 = Deque_2;
   Deque_2 = Deque_1;
   Deque_1 = Deque_3;
   cout<<"Elements in Deque_1 are: ";
   for (auto i = Deque_1.begin(); i!= Deque_1.end(); ++i)
      cout << ' ' << *i;
   cout<<"\nElements in Deque_2 are: ";
   for (auto i = Deque_2.begin(); i!= Deque_2.end(); ++i)
      cout << ' ' << *i;
   return 0;
}

ผลลัพธ์

หากเราเรียกใช้โค้ดข้างต้น มันจะสร้างผลลัพธ์ต่อไปนี้ -

Elements in Deque_1 are: 30, 20, 10
Elements in Deque_2 are: 10 20 30

deque::operator [] คืออะไร

deque::operator [] ใช้เพื่อเข้าถึงองค์ประกอบในตำแหน่งที่ระบุ โอเปอเรเตอร์นี้ส่งคืนการอ้างอิงไปยังองค์ประกอบที่มีอยู่ในตำแหน่งที่กำหนดใน [] มันทำงานในลักษณะเดียวกับ deque::at() เมื่อเราขอตำแหน่งองค์ประกอบที่อยู่นอกคอนเทนเนอร์ ผู้ดำเนินการจะส่งข้อยกเว้น out_of_range เริ่มแรกตำแหน่งของคอนเทนเนอร์ดีคเริ่มต้นด้วย 0

ไวยากรณ์

mydeque[postion];

มันต้องมีตำแหน่งที่เราต้องการดึงมา

คืนค่า

โอเปอเรเตอร์นี้ส่งคืนการอ้างอิงโดยตรงขององค์ประกอบซึ่งอยู่ที่ตำแหน่งที่ระบุ

ตัวอย่าง

Input: deque<int> mydeque = {1, 2, 3, 4, 5, 6};
   mydeque[2];
Output:
   3

ตัวอย่าง

#include <deque>
#include <iostream>
using namespace std;
int main(){
   deque<int> Deque = {10, 20, 30, 40, 50};
   cout<<"Elements are : ";
   for (int i = 0; i < Deque.size(); ++i){
      if (i % 2 != 0){
         cout << Deque[i];
         cout << " ";
      }
   }
   return 0;
}

ผลลัพธ์

หากเราเรียกใช้โค้ดข้างต้น มันจะสร้างผลลัพธ์ต่อไปนี้ -

Elements are : 20 40