C語言中文網 目錄
首頁 > STL > 序列容器 閱讀:1,074

C++ deque獲取(訪問)元素方法詳解

可以使用下標運算符來訪問 deque 容器中的元素。這個操作和 vector 容器中的類似,所以下標也沒有做邊界檢查。

deque 容器中的元素是序列,但是內部的存儲方式和 vector 不同。它組織元素的方式導致容器的大小總是和容量相等。因為這個,所以沒有定義成員函數 capacity(),deque 只有成員函數 size(),它以成員類型 size_type 的無符號整型來返回當前元素個數。

同樣因為 deque 內部組織元素的方式不同,deque 的操作和 vector 相比要慢。

可以用下標運算符來訪問元素,但是索引并沒有進行邊界檢查。為了用進行邊界檢查的索引來訪問元素,可以選擇使用成員函數 at(),這和 vector 相同:
std::cout << words.at(2) << std::endl; // Output the third element in words
參數必須是一個 size_t 類型的值,因此不能是負數。如果 at() 的參數不在范圍內,例如大于 words.size()-1,就會拋出一個 std::out_of_range 異常。

deque 成員函數 front() 和 back() 的用法也和 vector 相同,然而,deque 卻沒有成員函數 data(),因為元素并沒有被存放在數組中。deque 容器和 vector 一樣,有三種不同重載版本的 resize() 函數,它們的操作基本相同。

精美而實用的網站,提供C語言C++STLLinuxShellJavaGo語言等教程,以及socketGCCviSwing設計模式JSP等專題。

Copyright ?2011-2018 biancheng.net, 陜ICP備15000209號

底部Logo