กำหนดให้แสดงการทำงานของ deque::crbegin() ใน C++
Deque เป็นคิวสองด้านที่ให้การแทรกและการลบที่ปลายแต่ละด้าน เช่น ด้านหน้าและด้านหลังที่มีประสิทธิภาพสูง ตรงกันข้ามกับเวกเตอร์ที่ให้ประสิทธิภาพสูงในการแทรกที่ส่วนท้าย เช่น ด้านหลังเท่านั้น
นอกจากนี้ยังให้การเข้าถึงส่วนประกอบแบบสุ่มด้วย แม้ว่าเราสามารถแทรกส่วนระหว่างส่วนประกอบทางเลือกใน dequeue ด้วย insert() แต่ประสิทธิภาพของมันจะไม่สมเหตุสมผลเหมือนเวกเตอร์
deque::crbegin() คืออะไร
Deque::crbegin() โดยที่ crbegin เป็นค่าคงที่เริ่มต้นแบบย้อนกลับ หมายความว่าจะย้อนกลับจุดเริ่มต้นอย่างต่อเนื่องหรือกล่าวอีกนัยหนึ่งคือส่งกลับค่าคงที่_reverse_iterator
ตัววนซ้ำคงที่คืออะไร
ตัววนซ้ำคงที่ไม่ใช่สิ่งที่ใช้สำหรับการปรับเปลี่ยน วัตถุประสงค์หลักคือการเข้าถึงพวกเขาแทน สำหรับการแก้ไของค์ประกอบ เราใช้ non_const iterators
ไวยากรณ์
dequename.crbegin()
คืน const_reverse_iterator เพื่อย้อนกลับจากจุดเริ่มต้น −
ส่งคืน const_reverse_iterator ที่แจ้งไปยังส่วนสุดท้ายภายในคอนเทนเนอร์ (เช่น จุดเริ่มต้นย้อนกลับ)
ฟังก์ชันส่งคืน −
const_reverse_iterator สำหรับการย้อนกลับของลำดับ
ประเภทสมาชิก const_reverse_iterator อาจเป็นประเภทตัววนซ้ำการเข้าถึงแบบสุ่มย้อนกลับที่ชี้ไปยังส่วน const (ดูประเภทสมาชิก deque)
ตัวอย่าง
#include <iostream> #include <deque> int main (){ std::deque<int> mydeque = {1,2,3,4,5}; std::cout << "mydeque backwards:"; for (auto rit = mydeque.crbegin(); rit != mydeque.crend(); ++rit) std::cout << ' '<< *rit; std::cout << '\n'; return 0; }
ผลลัพธ์
หากเราเรียกใช้โปรแกรมข้างต้น มันจะสร้างผลลัพธ์ต่อไปนี้ -
mydeque backwards: 5 4 3 2 1