標準庫vector及相關知識簡要說明

2021-06-22 00:09:01 字數 1301 閱讀 2175

一、#include

vector是類模板,同一種型別的物件的集合,

vector《型別》 變數名,由於vector的動態增長的效率比較高,比較好的方案是先初始化乙個空的vector物件,然後動態增加元素。

是一種順序儲存容器

vector常用操作

1.size()  返回型別是size_type

2.push_back()追加

3.vector的下標操作,vector中的物件是沒有名字的。vector的下標操作只能用來獲取已存在的元素,因此通過下標增加新元素的時候,不會新增任何元素。

二、迭代器

迭代器是一種檢查容器內元素並遍歷元素的資料型別。

每種容器都有自己的迭代器型別。eg: vectorivec; vector::iterator iter=ivec.begin();

2.1begin和end操作,用於返回迭代器

begin()返回的迭代器指向第乙個元素,end返回的迭代器指向末端元素的下乙個元素,成為超出末端迭代器,指向乙個不存在的元素。當容器為空的時候,兩者返回的迭代器相同。

2.2迭代器可以自增和解引用運算

++iter; *iter=0;

2.3使用迭代器進行遍歷操作

for(vector::iterator iter=ivec.begin();iter!=ivec.end();++iter)

2.4一種特殊的迭代器,只能用於讀取容器內的元素

const_iterator,對該型別迭代器進行解引用的時候,不能進行物件修改操作。

2.5迭代器的算術操作

可以加上或減去乙個整型值,產生乙個新的迭代器。這個整型值應該是size_type型別或者difference_type型別的。

兩個迭代器可以做減法,得到乙個difference_type的signed值。表示兩個迭代器的相距距離,這兩個迭代器必須指向同乙個容器。

注意:兩個迭代器相加的操作是未定義的

三、標準庫bitset型別

#include

using std::bitset

bitset是一種類模板,構造的時候需要指定其長度值。 eg:bitset<32> bitvec;長度值必須定義為整型字面值常量或者已用常量值初始化的整型的const物件。

幾種初始化bitset的方法

1.用unsigned 值初始化bitset物件。該值將轉化為二進位制的位模式。分清低階位和高階位。

2.用string物件初始化bitset物件。從string物件讀入位集的順序是從右向左。

相對於c++內建資料型別的陣列和指標而言,程式設計師應優先使用標準庫類型別。



標準庫vector型別

vector是同一種型別的物件的集合,每個物件都有乙個對應的整數索引值.和string物件一樣,標準庫將負責管理與儲存元素相關的記憶體.我們把vector稱為容器,是因為它可以包含其他物件.乙個容器中的所有物件都必須是同一種型別.使用vector之前,必須包含相應的標頭檔案.include usin...

標準庫型別vector

宣告 include using std vector 定義和初始化vector物件 vectorv1 vectorv2 v1 vectorv2 v1 vectorv3 n,val v3包含了n個重複的元素,每個元素的值都是val vectorv4 n v4包含了n個重複地執行了值初始化的物件 ve...

標準庫型別vector

文件 vector標準庫 include using std vector 預設初始化 vector a 定義乙個指定型別的空vector 列表初始化 vector b c 11新標準提供的另外一種初始化的方法,建立指定數量的元素 vector n,a 建立了n個型別為t的元素a 值初始化 vect...