deque (STL/CLR)
樣板類別說明控制不同的長度一連串的項目具有隨機存取的物件。 您可以使用容器deque來管理項目的序列,如下所示連續區塊的儲存空間,但它不能成長或縮小任意一端上而不需要複製任何其餘的項目。 因此它可以實作有效地double-ended queue。 (因此名稱。)
在下列描述中GValue等同於Value其餘後者則是參考型別,在這種情況是Value^。
template<typename Value>
ref class deque
: public
System::ICloneable,
System::Collections::IEnumerable,
System::Collections::ICollection,
System::Collections::Generic::IEnumerable<GValue>,
System::Collections::Generic::ICollection<GValue>,
System::Collections::Generic::IList<GValue>,
Microsoft::VisualC::StlClr::IDeque<GValue>
{ ..... };
參數
GValue
在受控制序列中項目的泛用型別。值
受控制序列中項目的型別。
Members
型別定義 |
描述 |
---|---|
常數的 iterator 受控制序列的型別。 |
|
常數參考的項目型別。 |
|
常數的反向 iterator 受控制序列的型別。 |
|
帶正負號的距離,兩個元素之間的型別。 |
|
泛用介面,該容器的型別。 |
|
Iterator 容區的泛用介面的型別。 |
|
反向 iterator 容區的泛用介面的型別。 |
|
為泛用介面,該容器的項目型別。 |
|
受控制序列的 iterator 型別。 |
|
項目之參考型別。 |
|
對於受控制序列的反向 iterator 型別。 |
|
帶正負號的距離,兩個元素之間的型別。 |
|
項目的型別。 |
成員函式 |
描述 |
---|---|
取代所有的項目。 |
|
存取位於指定位置的項目。 |
|
存取最後一個項目。 |
|
指定受控制序列的開頭。 |
|
移除所有項目。 |
|
建構容器物件。 |
|
測試是否沒有項目呈現。 |
|
指定受控制序列的結尾。 |
|
移除指定位置的項目。 |
|
存取第一個項目。 |
|
將元素加入指定的位置。 |
|
移除最後一個項目。 |
|
移除第一個項目。 |
|
將新的最後一個項目。 |
|
將新的第一個項目。 |
|
指定已還原的受控制序列開頭。 |
|
指定已還原的受控制序列結尾。 |
|
變更項目的數目。 |
|
計數項目的數目。 |
|
交換兩個容器的內容。 |
|
將受控制的序列複製到新的陣列。 |
屬性 |
描述 |
---|---|
存取最後一個項目。 |
|
存取第一個項目。 |
運算子 |
描述 |
---|---|
判斷兩個deque物件並不相等。 |
|
存取位於指定位置的項目。 |
|
如果決定deque物件是小於另一個deque物件。 |
|
如果決定deque物件是小於或等於到另一個deque物件。 |
|
取代受控制的序列。 |
|
如果決定deque物件是否等於另一個deque物件。 |
|
如果決定deque物件是否大於另一個deque物件。 |
|
如果決定deque物件是大於或等於另一個deque物件。 |
介面
介面 |
描述 |
---|---|
重複的物件。 |
|
序列項目。 |
|
維持群組項目。 |
|
透過型別元素的順序。 |
|
維護具型別項目的群組。 |
|
維護已排序的群組的具型別項目。 |
|
IDeque <Value> |
維護泛用的容器。 |
備註
物件會配置並釋放它控制透過預存的陣列,以指定的區塊控制代碼的順序儲存Value項目。 陣列會依需求。 成長,就會發生這種方式附加的前面或附加新的項目成本是固定的時間,而且沒有剩餘的項目會被打擾。 在 [固定的時間,而不干擾其餘的項目,您也可以移除任意一端上的項目。 因此,deque 是樣板類別為基礎的容器的理想候選queue (STL/CLR)或樣板類別stack (STL/CLR)。
A deque物件支援隨機存取 iterator,這表示您可以參考陣列元素直接指定其數值的位置,可計算從零 (前端) 的第一個項目,如deque::size (STL/CLR)() - 1的最後一個 (上一步) 項目。 這也表示,deque 是樣板類別為基礎的容器的理想候選priority_queue (STL/CLR)。
Deque iterator 會儲存其相關聯的 deque 物件,並的項目後,它指定偏差的控制代碼。 Iterator 只適用於其相關的容器物件。 偏差的 deque 項目是not和它的位置一定相同。 插入的第一個元素偏差零、 下一個附加的項目偏差 1,但下一個預留的項目偏差-1。
插入或清除 [任意一端上的項目不會not改變的項目儲存在任何有效的偏差值。 插入或刪除內部元素,但是, can變更儲存在指定的偏差,因此 iterator 所指定的值也可以變更的項目值。 (容器可能需要將複製的項目,或向下建立一個洞,在插入之前先或填滿之後清除的洞裡)。儘管如此,deque iterator 仍然有效,只要其偏差指定有效的項目。 此外,有效的 iterator 保持 dereferencable--您可用它來存取或變更,只要其偏差值不等於所傳回的 iterator 的偏差的項目值後,它指定- end()。
正在清除或移除項目儲存的值會呼叫解構函式。 摧毀容器時,會清除所有項目。 因此,的容器,其元素型別是一種 ref 類別可確保沒有項目 outlive 的容器。 不過請注意,容器的控制代碼不會not摧毀它的項目。
需求
標頭: < cliext/deque >
Namespace: cliext