C++ Deque::operator[] 函式



C++ 的std::deque::operator[]函式允許訪問或修改特定索引處的元素,類似於陣列和向量的工作方式。該函式接受單個引數(索引),並返回對該位置元素的引用。

與at()不同,它不執行邊界檢查,因此訪問超出範圍的索引會導致未定義的行為。

語法

以下是std::deque::operator[]函式的語法。

reference operator[] (size_type n);
const_reference operator[] (size_type n) const;

引數

  • n − 表示容器中元素的位置。

返回值

它返回容器中指定位置的元素。

異常

如果索引超出範圍,則丟擲未定義的行為。

時間複雜度

此函式的時間複雜度為常數,即 O(1)。

示例

在下面的示例中,我們將考慮operator[]函式的基本用法。

#include <iostream>
#include <deque>
int main()
{
    std::deque<char> a = {'A', 'B', 'C', 'D'};
    std::cout << "Element at given index : " << a[1] << std::endl;
    return 0;
}

輸出

上述程式碼的輸出如下:

Element at given index : B

示例

考慮以下示例,我們將修改元素。

#include <iostream>
#include <deque>
int main()
{
    std::deque<char> a = {'A', 'B', 'C', 'D'};
    a[2] = 'Z';
    for (int x = 0; x < a.size(); ++x) {
        std::cout << a[x] << " ";
    }
    std::cout << std::endl;
    return 0;
}

輸出

以下是上述程式碼的輸出:

A B Z D

示例

讓我們看下面的例子,我們將訪問超出範圍的元素並觀察輸出。

#include <iostream>
#include <deque>
int main()
{
    std::deque<int> a = {01,12,23,34};
    std::cout << "Element at given index : " << a[5] << std::endl;
    return 0;
}

輸出

如果我們執行上述程式碼,它將生成以下輸出:

Element at given index : 0
deque.htm
廣告