Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> C++

deque::operator= và deque::operator[] trong C++ STL


Trong bài viết này, chúng ta sẽ thảo luận về cách hoạt động, cú pháp và ví dụ của deque::operator= và deque::operator[] trong C++ STL.

Deque là gì?

Deque (Double Ended Queue) là container trình tự cung cấp chức năng mở rộng và co hẹp ở cả hai đầu. Queue thông thường chỉ cho phép chèn ở cuối và xóa ở đầu, còn Deque cho phép chèn và xóa ở cả hai đầu.

deque::operator= là gì?

deque::operator= dùng để gán giá trị mới cho deque container bằng cách thay thế các phần tử đã có. Toán tử này cũng thay đổi kích thước deque theo nội dung mới.

Cú pháp

mydeque1 = mydeque2;

Cần một deque container khác cùng kiểu dữ liệu.

Giá trị trả về

Toán tử trả về con trỏ *this của deque container được gán.

Ví dụ

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

Ví dụ hoàn chỉnh

#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 = {};
    // hoán đổi phần tử của cả hai 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;
}

Kết quả

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

deque::operator[] là gì?

deque::operator[] dùng để truy cập phần tử tại vị trí xác định. Toán tử trả về tham chiếu đến phần tử tại vị trí cho trước trong []. Hoạt động tương tự deque::at(). Nếu yêu cầu vị trí ngoài phạm vi container, toán tử ném ngoại lệ out_of_range. Vị trí bắt đầu từ 0.

Cú pháp

mydeque[position];

Yêu cầu một vị trí cần truy xuất.

Giá trị trả về

Trả về tham chiếu trực tiếp đến phần tử tại vị trí chỉ định.

Ví dụ

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

Ví dụ hoàn chỉnh

#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;
}

Kết quả

Elements are : 20 40