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

Forward_list::operator =ใน C++ STL


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

Forward_list ใน STL คืออะไร

รายการส่งต่อคือคอนเทนเนอร์ลำดับที่อนุญาตให้ดำเนินการแทรกและลบเวลาคงที่ที่ใดก็ได้ภายในลำดับ รายการส่งต่อถูกนำไปใช้เป็นรายการที่เชื่อมโยงแบบเดี่ยว การจัดลำดับจะถูกเก็บไว้โดยการเชื่อมโยงไปยังแต่ละองค์ประกอบของลิงก์ไปยังองค์ประกอบถัดไปในลำดับ

forward_list::operator =?

. คืออะไร

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

ไวยากรณ์

Forward_container1 = (forward_container2);

ฟังก์ชันนี้ยอมรับคอนเทนเนอร์ forward_list อื่นที่เป็นประเภทเดียวกัน

ผลตอบแทนที่ได้รับ

ส่งคืนตัวชี้ “*นี้”

ในโค้ดด้านล่าง เรากำลังสร้างรายการส่งต่อสองรายการและแทรกองค์ประกอบเข้าไป จากนั้นเราจะใช้ตัวดำเนินการ '=' เพื่อเขียนทับองค์ประกอบของรายการส่งต่อ 1 ด้วยรายการส่งต่อ 2

ตัวอย่าง

#include <forward_list>
#include <iostream>
using namespace std;
int main(){
   forward_list<int> forwardList1 = {10, 20, 30 };
   forward_list<int> forwardList2 = { 0, 1, 2, 3 };
   forwardList1 = forwardList2;
   cout << "my forwardList1 after using = operator with forwardList2\n";
   for (auto i = forwardList1.begin(); i != forwardList1.end(); ++i)
      cout << ' ' << *i;
   return 0;
}

ผลลัพธ์

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

my forwardList1 after using = operator with forwardList2
0 1 2 3

ตัวอย่าง

ในโค้ดด้านล่าง เรากำลังสร้างรายการส่งต่อสองรายการและแทรกองค์ประกอบเข้าไป จากนั้นเราจะใช้ตัวดำเนินการ '=' เพื่อเขียนทับองค์ประกอบของรายการส่งต่อ 1 ด้วยรายการส่งต่อ 2 งานหลักในตอนนี้คือการตรวจสอบสถานะของ ส่งต่อรายการที่ 2 คือจะมีการเปลี่ยนแปลงด้วยหรือไม่

#include <forward_list>
#include <iostream>
using namespace std;
int main(){
   forward_list<int> forwardList1 = {10, 20, 30 };
   forward_list<int> forwardList2 = { 0, 1, 2, 3 };
   forwardList1 = forwardList2;
   cout << "my forwardList1 after using = operator with forwardList2\n";
   for (auto i = forwardList1.begin(); i != forwardList1.end(); ++i)
      cout << ' ' << *i;
   cout << "\n my forwardList2 after using = operator with forwardList1\n";
   for (auto i = forwardList2.begin(); i != forwardList2.end(); ++i)
      cout << ' ' << *i;
   return 0;
}

ผลลัพธ์

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

my forwardList1 after using = operator with forwardList2
0 1 2 3
my forwardList2 after using = operator with forwardList1
0 1 2 3