c 順序容器的學習

2021-07-07 07:24:12 字數 641 閱讀 1992

1.順序容器分為3類:vector,list,deque

2. 容器內元素的型別約束:

在c++中,大多數的資料型別都可以做為容器的元素,甚至容器。容器的元素型別必須符合兩個條件:1.元素型別支援賦值運算,2,元素型別的物件必須可以複製。要注意的是引用型別無法成為容器的元素。(這是因為如果引用型別成為元素後,就會出現引用的引用,或者指標的引用等,c++裡面不支援這樣的語意)

3.三種容器都是順序容器,我的理解是把vextor看做陣列,list是鍊錶,而deque是集合了二者的一些特點,下面對三種      順序容器操作做個比較:

容器迭代器的操作:因為list輸入鍊錶操作,所以它無法進行iter + n以及比較大小的關係運算,如》=, >

容器中新增元素:c.push_front(t) 向容器前端新增t,很顯然vector不能使用啊

容器元素的訪問:鍊錶無法支援隨機讀取,像c[n],c.at[n]這種讀取容器第n個值的list是沒法用啦

容器元素的刪除:c.pop_front(t) 刪除首元素,vector不能使用

4. vector容器是連續分配的,它提供了兩個介面capacity和reserve,capacity獲取系統當前分配的當前記憶體能儲存多少個元素,而reserve則告訴容器應該預留多少個元素的空間

from:  

C 順序容器學習小結

一 c 陣列的描述 一維陣列的動態記憶體分配 int num new int len delete num 二維陣列的動態記憶體分配 1 知第二維 char num n 指向陣列的指標 num newchar m n deletenum 2 知第一維 char num m 指標的陣列 for int...

C 順序容器

一 順序容器型別 順序容器 vector list deque 介面卡 stack queue priority queue 使用這些容器都必須使用相應的標頭檔案 二 容器元素初始化 cc 建立乙個名為c的空容器 cc c2 建立容器c2的副本 cc b,e 建立c,其元素是迭代器b和e的範圍內的副...

C 順序容器

1 概述 乙個容器就是一些特定型別物件的集合。順序容器型別 描述vector 可變大小陣列,支援快速訪問,在尾部之外的地方插入或刪除時可能很慢 deque 雙端佇列。支援快速訪問,在頭尾插入刪除會很快。list 雙向列表。只支援雙向順序訪問。插入刪除很快 forward list 單向列表。只支援單...