ในบทความนี้เราจะพูดถึงการทำงาน ไวยากรณ์และตัวอย่างของฟังก์ชัน list::front() ใน C++
รายการใน STL คืออะไร
รายการเป็นโครงสร้างข้อมูลที่อนุญาตให้แทรกและลบเวลาคงที่ได้ทุกที่ตามลำดับ รายการถูกนำไปใช้เป็นรายการที่เชื่อมโยงเป็นสองเท่า รายการอนุญาตการจัดสรรหน่วยความจำที่ไม่ต่อเนื่องกัน List ทำการดึงการแทรกและย้ายองค์ประกอบได้ดีกว่าในตำแหน่งใดๆ ในคอนเทนเนอร์ มากกว่าอาร์เรย์ เวกเตอร์ และ deque ใน List การเข้าถึงองค์ประกอบโดยตรงนั้นช้าและ list นั้นคล้ายกับ forward_list แต่ออบเจกต์ของรายการส่งต่อเป็นรายการที่เชื่อมโยงเพียงรายการเดียว และสามารถทำซ้ำได้เพียงส่งต่อเท่านั้น
list::front() คืออะไร ?
list::front() เป็นฟังก์ชัน inbuilt ใน C++ STL ซึ่งประกาศไว้ในไฟล์ส่วนหัว front() คืนค่าการอ้างอิงโดยตรงไปยังองค์ประกอบที่อยู่ในตำแหน่งแรกในคอนเทนเนอร์รายการ
เมื่อเราใช้ฟังก์ชันนี้กับรายการว่าง จะทำให้เกิดพฤติกรรมที่ไม่ได้กำหนดไว้
ไวยากรณ์
list_container.front();
ฟังก์ชันนี้ไม่รับพารามิเตอร์ใดๆ
ผลตอบแทนที่ได้รับ
ฟังก์ชันนี้จะคืนค่าการอ้างอิงไปยังองค์ประกอบแรกของคอนเทนเนอร์รายการ
ตัวอย่าง
/*ในโค้ดด้านล่าง เรากำลังพยายามจับองค์ประกอบแรกในรายการโดยใช้ฟังก์ชัน front() และแสดงผล*/
#include <bits/stdc++.h> using namespace std; int main(){ //Create a list list<int> myList; //insert elements to the List myList.push_back(3); myList.push_back(2); myList.push_back(21); myList.push_back(11); //catch the first element of a List int first_ele = myList.front(); cout<<"first element in a list is : "<<first_ele; return 0; }
ผลลัพธ์
หากเรารันโค้ดด้านบน มันจะสร้างผลลัพธ์ต่อไปนี้
first element in a list is : 3
ตัวอย่าง
/*ในโค้ดด้านล่าง เรากำลังแทนที่ค่าขององค์ประกอบแรกด้วยองค์ประกอบสุดท้าย และสำหรับสิ่งนั้น เราจำเป็นต้องเข้าถึงค่าแรกและค่าสุดท้าย ซึ่งจะทำผ่านการเรียกฟังก์ชัน front() andback()*/
#include <iostream> #include <list> int main (){ std::list<int> myList; myList.push_back(77); myList.push_back(2); myList.push_back(21); myList.push_back(23); myList.front() = myList.back(); std::cout << "replacing first element with the last element : " << myList.front() << '\n'; return 0; }
ผลลัพธ์
หากเรารันโค้ดด้านบน มันจะสร้างผลลัพธ์ต่อไปนี้
replacing first element with the last element : 23