C Primer 第九章 順序容器

2021-10-18 12:11:12 字數 765 閱讀 9786

接受容器大小引數的順序容器建構函式使用了元素的預設建構函式

forward_lis迭代器不支援–運算子

使用迭代器引數來拷貝乙個範圍時,就不要求容器型別相同了

array型別可以進行拷貝和賦值,但是要求元素型別和大小一樣

array型別不支援assign,也不允許用花括號的值列表進行賦值

swap一般只是交換兩個容器的內部資料結構,此時只用常數時間

對array進行swap會真正交換元素,元素不變但元素值已交換,時間與array中元素的數目成正比

除了array外,swap不對任何元素進行拷貝,刪除或插入操作

除了string之外迭代器、引用和指標不會在swap後失效,依舊指向那些元素只是屬於不同的容器了

forward_list不支援size,也沒有back

迭代器拷貝的範圍不能跟目的位置相同

reserve不會退回記憶體空間

shrink_to_fit也不保證一定退回記憶體空間

C primer 第九章順序容器!

標準庫定義了3種順序容器 vector支援隨機訪問,list支援快速插入刪除,deque雙端佇列。他們的差別在於訪問元素的方式,以及新增或刪除元素操作的執行代價。1.容器元素的初始化 預設的建構函式 listilist list容器,裡面內容是int型別的內容 dequeitems 空容器deque...

c primer 筆記 第九章 順序容器

1.vector,deque,list,forward list,array,string的區別 vector 可變大小陣列,支援快速隨機訪問,在尾部之外的位置插入或刪除元素可能很慢 deque 雙端佇列,支援快速隨機訪問,在中間位置新增或刪除元素的代價可能很高,但是在兩端新增或刪除元素很快 lis...

第九章 順序容器

1 容器必須支援的2種操作,這種型別才能作為容器的元素 一是元素型別支援賦值操作,而是元素型別支援物件複製操作 2 操作特殊需求,例如容器元素型別為類型別,該類只提供了單值初始化建構函式,則不能用vec n 的操作了,因為無法給類型別初始化,這是由於沒有預設建構函式導致的。但是可以vec n,1 3...