C 基礎知識學習,vector,迭代器,精彩演繹

2021-09-29 02:14:44 字數 2802 閱讀 8888

定義以及初始化

//vector裡面能裝任何型別,但是不能裝引用,因為引用就不是乙個型別

//定義和初始化

vector myvector1;

myvector1.

push_back

("abc");

myvector1.

push_back

("def");

//拷貝

vector

myvector2

(myvector1)

; vector myvector3 = myvector1;

//c++11列表初始化

vector myvector4

;//建立制定數量的元素,有元素數量的東西,一般用圓括號

vector

myvector5(10

,"abc");

//裡面有10個string "abc"

vector

myvector6(10

);//不指定元素內容,為預設值,如0,空串

//{}一般表示元素內容

//五花八門的初始化方式

vector myvector7

;//這乙個也是10個空串,不要為什麼,就是這樣設計的

vector myvector8

;//10個hello_world

vector的一些常用方法
//vector常用方法

vector<

int> myvector9;

//是否為空

myvector9.

empty()

;//末尾加上元素

myvector9.

push_back(1

);//清空

myvector9.

clear()

;//在某個位置插入乙個元素

myvector9.

insert

(myvector9.

begin()

,1);

//訪問下表為i的元素

myvector9[0]

;//重新賦值

myvector9 =

;

範圍for
vector<

int> myvector10 =

;//使用引用,提公升效率

for(

auto

& x : myvector10)

使用案例

vector<

int> myvector11 =

; vector<

int>

::iterator vectoritem;

vectoritem = myvector11.

begin()

;//vector的第乙個元素

//end指的不是最後乙個元素,而是最後乙個元素的後面的乙個元素

//所以vector為空的時候,end==begin

while

(vectoritem != myvector11.

end())

for

(vector<

int>

::reverse_iterator myitem = myvector11.

rbegin()

; myitem != myvector11.

rend()

; myitem++

)

struct student

;int

main()

vector<

int> myvector =

; vector<

int>

::const_iterator myconstiterator = myvector.

begin()

; cout <<

*myconstiterator << endl;

//cbegin(),cend(),返回常量迭代器

vector<

int> myvector12 =

;//這個常量迭代器就不能更改內容了

for(

auto iter = myvector12.

cbegin()

; iter != myvector12.

cend()

; iter++

)

vector<

int> myvector13 =

;auto iter1 = myvector13.

begin()

;while

(iter1 != myvector13.

end())

myvector13.

clear()

;

string mystring =

"i love china"

;for

(auto myiter = mystring.

begin()

; myiter != mystring.

end(

); myiter++

)for

(auto myiter = mystring.

begin()

; myiter != mystring.

end(

); myiter++

)

vector相關基礎知識

vector是表現為可變長陣列的序列容器,vector使用連續的儲存位置來儲存元素。在vector內部,使用乙個動態分配記憶體的陣列來儲存其元素。當插入新元素的時候,這個陣列可能需要重新分配,以增加大小,這意味著分配乙個新的陣列,並且將原有的元素從舊的位置移到新的陣列中。這個操作在時間方面是個開銷極...

opencv學習 vector的基礎知識點

之前一直仿照別人用vector 但是一直是仿照著實現功能,然而並不是很清楚它的基礎知識,所以今天好好整理一下,便於以後複習,便於需要的人們檢視!vector 1 解釋 容器,可以存放各種型別的物件,是乙個動態陣列,存放各種型別的資料 注意 如果要表示的向量長度較長 需要為向量內部儲存很多數 容易導致...

vector與set區別 基礎知識

首先,vector是序列式容器而set是關聯式容器。set包含0個或多個不重複不排序的元素。也就是說set能夠保證它裡面所有的元素都是不重複的。另外對set容器進行插入時可以指定插入位置或者不指定插入位置。如insert v.begin 1 也可以直接用insert 1 還有一點是 set對一些操作...