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

DEQUE CRBEGIN() ใน C++


กำหนดให้แสดงการทำงานของ 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