真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

c++vector詳解-創(chuàng)新互聯(lián)

文章目錄
    • vector
      • vector 的創(chuàng)建和初始化
      • vector的遍歷
      • vector的其他操作

創(chuàng)新互聯(lián)建站的客戶來自各行各業(yè),為了共同目標(biāo),我們在工作上密切配合,從創(chuàng)業(yè)型小企業(yè)到企事業(yè)單位,感謝他們對我們的要求,感謝他們從不同領(lǐng)域給我們帶來的挑戰(zhàn),讓我們激情的團(tuán)隊(duì)有機(jī)會用頭腦與智慧不斷的給客戶帶來驚喜。專業(yè)領(lǐng)域包括成都網(wǎng)站設(shè)計(jì)、網(wǎng)站制作、外貿(mào)營銷網(wǎng)站建設(shè)、電商網(wǎng)站開發(fā)、微信營銷、系統(tǒng)平臺開發(fā)。vector

vector是標(biāo)準(zhǔn)庫中常見的一種容器,使用起來非常方便,可以用來代替c++原本的數(shù)組。

vector 的創(chuàng)建和初始化

vector作為存放一串?dāng)?shù)據(jù)的容器,在創(chuàng)建和初始化的時(shí)候就要考慮數(shù)據(jù)類型、數(shù)據(jù)的個(gè)數(shù)以及數(shù)據(jù)的值,并且針對這幾個(gè)屬性就可以有幾種不同的初始化方式。

vector 的初始化

#include#includeusing namespace std;

//vector的初始化

int main()
{vectorvec1;
	vectorvec2(3);
	vectorvec3(3,'a');
	vectorvec4(vec3);
	return 0 ;
}

例子展示了幾種不同的vector的初始化方法。可以看到在4個(gè)vector的初始化中,用<>指定了vector中的不同元素類型。

<1>第一個(gè)是空的整形vector,我們沒有給他添加任何元素。

<2>第二個(gè)初始化了一個(gè)有3個(gè)元素的vector,由于并沒有指定初始 值,將會使用編譯器默認(rèn)的初始值。

<3>第三個(gè)初始化了含有3個(gè)a的字符vector,括號中第二個(gè)值代表著所有元素的指定值。

<4>第四個(gè)vector通過拷貝vec3中的元素初始化vec4,它們的元素會一模一樣。

注意:
由于vector是標(biāo)準(zhǔn)庫中的類,在使用vector的時(shí)候我們需要包含標(biāo)準(zhǔn)庫的頭文件< vector >.

vector的遍歷

在創(chuàng)建了vector之后,我們首先要進(jìn)行的操作是讀取元素的值并打印出來,這樣我們才能知道創(chuàng)建出的vector到底是什么樣的。

#include#includeusing namespace std;

//vector的遍歷

int main()
{vectorvec1;
	vectorvec2(3);
	vectorvec3(3,'a');
	vectorvec4(vec3);
	cout<< "vec1:"<< endl;
	for (int i = 0; i< vec1.size(); i++ )
	{cout<< vec1[i]<< "";
	}
	cout<< endl<< "vec2:"<< endl;
       for ( int i = 0; i< vec2.size(); i++ )
       {   cout<< vec2[i]<< "";
       }
 	cout<cout<< vec3[i]<< "";
	}
	cout<< endl<< "vec4:"<< endl;
	for (int i = 0; i< vec4.size() ; i++ )
	{cout<< vec4[i]<< "";
	}
	cout<< endl;
	return 0 ;
}

運(yùn)行結(jié)果為:
在這里插入圖片描述
示例用4個(gè)循環(huán)遍歷了每個(gè)vector的每個(gè)元素,循環(huán)終止條件是i< vec.size(),這里的size()會返回vector的大小,或者說是元素個(gè)數(shù)。而再循環(huán)中,通過[i]來訪問vector 中索引為 i的元素。由于循環(huán)保證了 i一定有效,小于vector的大小,這里訪問vector元素就不會超出vector范圍,或者說是越界–這也是程序員在編程中經(jīng)常會犯而且不好調(diào)試的錯(cuò)誤。
從運(yùn)行結(jié)果中我們可以看到,第一個(gè)vector是空的,第二個(gè)vector的三個(gè)元素都是默認(rèn)值0,第四個(gè)vector由于使用了拷貝的方法,元素值與第三個(gè)vector一模一樣。

vector的其他操作

幾個(gè)vector的常用操作
向vector添加元素

#include#includeusing namespace std;

//向vector添加元素

int main()
{vectorvec1;
	if ( vec1.empty() )
	{cout<< "vec1 is empty!"<< endl;
	}
	vec1.push_back(1);
	vec1.push_back(2);
	if ( vec1.empty() )
	{cout<< "vec1 is empty! "<< endl;
	}
	for (int i = 0;i< vec1.size(); i++ )
	{cout<< vec1[i]<< endl;
	}
	return 0 ;
}

運(yùn)行結(jié)果為:
在這里插入圖片描述
可以看到,empty()可以判斷vector是否為空,而push_back()每次會添加一個(gè)元素到vector的末尾,因此打印的時(shí)候會先打印第一個(gè)元素。

從vector移除元素

#include#includeusing namespace std;

//從vector移除元素

int main()
{vectorvec1(3,2);
	for (int i =0;icout<< vec1[i]<<" "; 
	}
	cout<cout<< vec1[i]<<" "<

運(yùn)行結(jié)果:
在這里插入圖片描述
pop_back()和push_back()一樣,都是從vector末尾進(jìn)行尾行操作。pop_back()每次都會移除一個(gè)元素,因此調(diào)用兩次pop_back()后,vector只剩一個(gè)元素。需要注意的是,如果vector為空,使用pop_back()將會產(chǎn)生異常結(jié)果,因此需要empty()來確定vector不為空。

vector相等判斷與賦值

#include#includeusing namespace std;

//vector相等判斷與賦值

int main()
{vectorvec1(3,2);
	vectorvec2;
	if (vec1 == vec2)
	{cout<< "vec1與vec2相等"<< endl;
	}
	vec2 = vec1;
	cout<< "賦值后"<< endl;
	if (vec1 == vec2)
	{cout<< "vec1與vec2相等"<< endl;
	}
	return 0 ;
}

運(yùn)行結(jié)果:
在這里插入圖片描述
vector的賦值會把一個(gè)vector所有的元素賦值到另一個(gè)vector中,并替代所有元素;而vector的相等也是需要逐個(gè)元素依次比較并全部相等才算相等。

如果本文對您有幫助請點(diǎn)贊支持一下~

你是否還在尋找穩(wěn)定的海外服務(wù)器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機(jī)房具備T級流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確流量調(diào)度確保服務(wù)器高可用性,企業(yè)級服務(wù)器適合批量采購,新人活動首月15元起,快前往官網(wǎng)查看詳情吧


分享文章:c++vector詳解-創(chuàng)新互聯(lián)
當(dāng)前路徑:http://weahome.cn/article/dpohsi.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部