共用方式為


deque 類別

在線性排列中排列指定型別的元素,如向量般快速的隨機存取任何元素、有效率的從容器尾端執行插入和刪除元素。 不過,不同於向量, deque 類別也支援從容器前端有效率的插入和刪除元素。

template <
    class Type, 
    class Allocator=allocator<Type> 
>
    class deque

參數

  • Type
    要存放在雙向佇列中的元素資料類型。

  • Allocator
    代表預存配置器物件(此物件會封裝有關字串配置和解除配置記憶體的詳細資訊)的類型。 此引數是選擇性的,預設值是allocator<Type>.

備註

選擇容器型別時,應根據應用程式所需的搜尋和插入的型別。 當一個序列經常需要隨機存取元素,而在序列結尾才進行插入或刪除元素時,建議使用 向量 作為容器。 需要高效率的在任何位置插入和刪除(常數時間內)元素時, 清單 容器的效能是最佳的。 序列中的這類作業要求複製元素並指派和序列中(線性時間)元素數目成比例的作業。

當成員函式必須插入或清除序列時,將會重新配置雙向佇列:

  • 如果元素插入空序列,或者如果清除元素以保持空序列,則先前由 啟動結束 傳回的迭代器會變成無效。

  • 如果在雙向佇列的第一個位置插入元素,則所有指定現有的項目但沒有參考的迭代器會變成無效。

  • 如果在雙向佇列的最後一個位置插入元素,則 end 和所有指定現有的項目但沒有參考的迭代器會變成無效。

  • 如果在雙向佇列的前端清除元素,只有該元素的迭代器和參考會變成無效。

  • 如果最後一個元素在雙向佇列的結尾被清除,只有對最終元素的迭代器和被清除元素的參考會變成無效。

否則,插入或清除元素會使所有迭代器和參考變成無效。

建構函式

deque

建立 deque 。許多建構函式以不同方式協助建立新 deque. 的內容:空的佇列;載入指定數目的空元素;從其他 deque 移動或複製內容;使用迭代器複製或移動內容;將元素複製 _Count 次到 deque 。 某些建構函式允許使用自訂的 allocator 建立元素。

Typedef

allocator_type

表示deque 物件的allocator 類別。

const_iterator

提供隨機存取迭代器的類型,這個迭代器可以存取並讀取 deque 中的 const 元素。

const_pointer

提供 deque 中 const. 元素的指標。

const_reference

用來提供 deque 中一個元素的參考,以用作 const. 的讀取或其他操作。

const_reverse_iterator

提供隨機存取迭代器的類型,這個迭代器可以存取並讀取 deque 中的 const 項目。 反向檢視雙向佇列。 如需詳細資訊,請參閱reverse_iterator 類別

difference_type

提供在同一個 deque 中兩個隨機存取迭代器的差異。

Iterator

提供隨機存取迭代器的類型,這個迭代器可以讀取或修改 deque 中的任何元素。

指標

提供 deque 中一個元素的指標。

參照

提供 deque 中一個元素的參考。

reverse_iterator

提供隨機存取迭代器的類型,這個迭代器可以讀取或修改 deque 中的一個元素。 反向檢視雙向佇列。

size_type

計算 deque 中元素的數目。

value_type

表示 deque 儲存的資料型別。

成員函式

assign

清除 deque 的元素並複製新元素序至目標的 deque

at

傳回 deque 中指定位置之元素的參考。

back

傳回 deque 最後一個元素的參考。

begin

傳回定址 deque 第一個元素的隨機存取迭代器。

deque::cbegin

傳回常數迭代器至 deque 的第一個元素。

deque::cend

傳回指向超過 deque 結尾的隨機存取 const 迭代器。

clear

清除 deque 的所有元素。

deque::crbegin

傳回隨機存取的常數迭代器至反向檢視 deque 的第一個元素。

deque::crend

傳回隨機存取的常數迭代器至反向檢視 deque 的第一個元素。

deque::emplace

插入建構在 deque 指定位置的元素。

deque::emplace_back

加入建構在 deque結尾的元素。

deque::emplace_front

加入建構在 deque開頭的元素。

empty

如果 deque 內沒有任何元素則傳回 true ,如果它包含一個或多個元素則傳回 false 。

end

傳回指向超過 deque 結尾的隨機存取迭代器。

清除

deque 的指定位置移除一個元素或一個範圍內的元素。

front

傳回 deque 第一個元素的參考。

get_allocator

傳回建構 dequeallocator 物件複本。

插入

deque 的指定位置插入一個、多個或一個範圍的元素。

max_size

傳回 deque 的最大可能長度。

pop_back

清除 deque 尾端的元素。

pop_front

清除 deque 開頭的元素。

push_back

加入元素至 deque 的結尾。

push_front

加入元素至 deque 的開頭。

rbegin

傳回反轉 deque 第一個元素的隨機存取迭代器。

rend

傳回指向超過反轉 deque 最後一個元素的隨機存取迭代器。

resize

指定 deque 的新大小。

deque::shrink_to_fit

捨棄過度的產能。

size

傳回 deque 的元素數目。

交換

交換兩個 deque 的元素。

運算子

operator[]

傳回 deque 中指定位置之元素的參考。

deque::operator=

用另一個 deque 的複本取代 deque 的元素。

需求

標頭:<deque>

請參閱

參考

C++ 標準程式庫中的執行緒安全

標準樣板程式庫

其他資源

<deque> 成員

deque 類別成員