C++/STL/Deque

維基教科書,自由的教學讀本
< C++
跳至導覽 跳至搜尋

<deque>b:C++標準程式庫中的一個b:頭文件,定義了b:C++標準中雙端隊列容器的類模板。 用於需要隨機訪問,能在隊列的頭部與尾部方便地刪除、插入元素。

模板類[編輯]

template < class T, class Alloc = allocator<T> > class deque;

成員類型[編輯]

成員類型 定義 注釋
value_type 第一個模板參數(T)
allocator_type 第二個模板參數(Alloc) 缺省allocator<value_type>
reference value_type&
const_reference const value_type&
pointer allocator_traits<allocator_type>::pointer 對於缺省分配器為value_type*
const_pointer allocator_traits<allocator_type>::const_pointer 對於缺省分配器為const value_type*
iterator 指向value_type的前向迭代器 可轉換為const_iterator
const_iterator 指向const value_type的前向迭代器
difference_typ 有符號的整形,即iterator_traits<iterator>::difference_type 通常為 ptrdiff_t
size_type 可表示difference_type的任何非負值的無符號整形 通常為size_t
const_reverse_iterator
reverse_iterator

成員函數[編輯]

  • (constructor) 構造函數
  • (destructor) 析構函數
  • operator= 拷貝賦值運算符、移動賦值運算符、初始化器運算符
  • 迭代器
    • begin 返回指向開始位置的迭代器
    • end 返回指向結束位置的迭代器
    • cbegin 返回指向開始位置的const迭代器
    • cend 返回指向結束位置的const迭代器
    • crbegin
    • crend
    • rbegin
    • rend
  • 容量Capacity
    • empty 測試容器是否為空
    • max_size 返回容器的可能允許的最大容量
  • 成員訪問(Element access)
    • at
    • front 返回第一個成員的引用
    • back 返回最後一個成員的引用
  • 修改器(Modifier)
    • assign 賦值替換全部內容
    • emplace
    • emplace_back 在當前位置的尾方向原位插入元素
    • emplace_front 在鍊表頭部原位構造新的成員並插入到鍊表最開始處
    • push_front 在鍊表頭部插入元素,使用拷貝語義或移動語義
    • pop_front 刪除鍊表頭部元素
    • push_back
    • pop_back
    • erase
    • swap 交換兩個鍊表的內容
    • resize 改變鍊表的容量
    • shrink_to_fit
    • clear 清空鍊表的內容
    • insert
  • 觀察器(Observer)

重載的非成員函數模板[編輯]

  • 比較兩個前向鍊表的關係運算符函數模板
    • bool operator==(lhs, rhs),兩個鍊表的對應成員兩兩比較
    • bool operator!=(lhs, rhs)
    • bool operator<(lhs, rhs),兩個鍊表的對應成員做詞典(lexicographical)比較
    • bool operator>(lhs, rhs)
    • bool operator<=(lhs, rhs)
    • bool operator>=(lhs, rhs)
  • swap (lhs, rhs)

參考文獻[編輯]

頁面Template:ReflistH/styles.css沒有內容。