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

型別定義

描述

deque::const_iterator (STL/CLR)

常數的 iterator 受控制序列的型別。

deque::const_reference (STL/CLR)

常數參考的項目型別。

deque::const_reverse_iterator (STL/CLR)

常數的反向 iterator 受控制序列的型別。

deque::difference_type (STL/CLR)

帶正負號的距離,兩個元素之間的型別。

deque::generic_container (STL/CLR)

泛用介面,該容器的型別。

deque::generic_iterator (STL/CLR)

Iterator 容區的泛用介面的型別。

deque::generic_reverse_iterator (STL/CLR)

反向 iterator 容區的泛用介面的型別。

deque::generic_value (STL/CLR)

為泛用介面,該容器的項目型別。

deque::iterator (STL/CLR)

受控制序列的 iterator 型別。

deque::reference (STL/CLR)

項目之參考型別。

deque::reverse_iterator (STL/CLR)

對於受控制序列的反向 iterator 型別。

deque::size_type (STL/CLR)

帶正負號的距離,兩個元素之間的型別。

deque::value_type (STL/CLR)

項目的型別。

成員函式

描述

deque::assign (STL/CLR)

取代所有的項目。

deque::at (STL/CLR)

存取位於指定位置的項目。

deque::back (STL/CLR)

存取最後一個項目。

deque::begin (STL/CLR)

指定受控制序列的開頭。

deque::clear (STL/CLR)

移除所有項目。

deque::deque (STL/CLR)

建構容器物件。

deque::empty (STL/CLR)

測試是否沒有項目呈現。

deque::end (STL/CLR)

指定受控制序列的結尾。

deque::erase (STL/CLR)

移除指定位置的項目。

deque::front (STL/CLR)

存取第一個項目。

deque::insert (STL/CLR)

將元素加入指定的位置。

deque::pop_back (STL/CLR)

移除最後一個項目。

deque::pop_front (STL/CLR)

移除第一個項目。

deque::push_back (STL/CLR)

將新的最後一個項目。

deque::push_front (STL/CLR)

將新的第一個項目。

deque::rbegin (STL/CLR)

指定已還原的受控制序列開頭。

deque::rend (STL/CLR)

指定已還原的受控制序列結尾。

deque::resize (STL/CLR)

變更項目的數目。

deque::size (STL/CLR)

計數項目的數目。

deque::swap (STL/CLR)

交換兩個容器的內容。

deque::to_array (STL/CLR)

將受控制的序列複製到新的陣列。

屬性

描述

deque::back_item (STL/CLR)

存取最後一個項目。

deque::front_item (STL/CLR)

存取第一個項目。

運算子

描述

deque::operator!= (STL/CLR)

判斷兩個deque物件並不相等。

deque::operator[] (STL/CLR)

存取位於指定位置的項目。

operator< (deque) (STL/CLR)

如果決定deque物件是小於另一個deque物件。

operator<= (deque) (STL/CLR)

如果決定deque物件是小於或等於到另一個deque物件。

operator= (deque) (STL/CLR)

取代受控制的序列。

operator== (deque) (STL/CLR)

如果決定deque物件是否等於另一個deque物件。

operator> (deque) (STL/CLR)

如果決定deque物件是否大於另一個deque物件。

operator>= (deque) (STL/CLR)

如果決定deque物件是大於或等於另一個deque物件。

介面

介面

描述

ICloneable

重複的物件。

IEnumerable

序列項目。

ICollection

維持群組項目。

IEnumerable<T>

透過型別元素的順序。

ICollection<T>

維護具型別項目的群組。

IList<T>

維護已排序的群組的具型別項目。

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

請參閱

參考

list (STL/CLR)

priority_queue (STL/CLR)

queue (STL/CLR)

stack (STL/CLR)

vector (STL/CLR)

其他資源

STL/CLR 程式庫參考