第9章 順序容器 5

2021-06-02 05:17:14 字數 837 閱讀 1125

9.3.4 關係操作符

所有容器型別都支援關係操作符來實現兩個容器的比較。比較的容器必須具有相同的容器型別,而且其元素型別也必須相同。

c++語言只允許兩個容器做其元素型別定義的關係運算。

9.3.5 容器大小的操作

size操作返回容器內元素的個數;empty操作則返回乙個布林值,當容器大小為0時,返回值為true,否則為false。

容器型別提供resize操作來改變容器所包含的元素個數。如果當前的容器長度大於新的長度值,則新容器後部的元素會被刪除;如果當前的容器長度小於新的長度值,則系統會在該容器後部新增新元素。

listm;

m.resize(4,100);

for(list::iterator beg = m.begin();beg!=m.end();++beg)

resize操作可能會使迭代器失效。在vector或deque容器上做resize操作有可能會使其所有的迭代器都失效。

對於所有的容器型別,如果resize操作壓縮了容器,則指向已刪除的元素的迭代器失效。

9.3.6 訪問元素

如果容器非空,那麼容器型別的front和back成員將返回容器內第乙個或最後乙個元素的引用。

listm;

m.resize(4,100);

cout << m.front() << endl;

cout << m.back() << endl;

使用下標運算的另乙個可選方案是at成員函式。這個函式的行為和下標運算相似,但是如果給出的下標無效,at函式將會丟擲out_of_range異常。

9.3.7 刪除元素

第9章 順序容器 3

9.2 迭代器和迭代器範圍 與容器型別一樣,所有迭代器具有相同的介面 如果某種迭代器支援某種操作,那麼支援這種操作的其他迭代器也會以相同的方式支援這種操作。iter iter memvector和deque容器的迭代器提供額外的運算 只有vector和deque容器提供下面幾種重要的運算集合 迭代器...

第9章順序容器 vector string練習題

include includeusing namespace std vector iterator findint vector iterator beg,vector iterator end,int ival int tmain int argc,tchar argv vectorivec i...

《C Primer》讀書筆記 第9章 順序容器

順序容器型別 vector 可變大小陣列 deque 雙端佇列 list 雙向列表 forward list 單向列表 c 11新增 array 固定大小陣列 c 11新增 string 與vector相似的容器,但專門用於儲存字元 順序容器選取原則 通常選用vector是最好的選擇,除非你有很好的...