C++標(biāo)準(zhǔn)庫提供了被封裝的動(dòng)態(tài)數(shù)組——vector,而且這種被封裝的數(shù)組可以具有各種類型,這就使我們免去了一些重復(fù)性工作。
vector不是一類,而是一個(gè)類模板。
vector<元素類型>數(shù)組對(duì)象名(數(shù)組長(zhǎng)度);
尖括號(hào)中的類型名表示數(shù)組元素的類型。數(shù)組長(zhǎng)度是一個(gè)表達(dá)式,表達(dá)式中可以包含變量。例如,下面定義了一個(gè)大小為10的int型動(dòng)態(tài)數(shù)組對(duì)象arr:
int x=10;
vector<int>arr(x);
與普通數(shù)組不同的是,用vector定義的數(shù)組對(duì)象的所有元素都會(huì)被初始化。如果數(shù)組的元素類型為基本數(shù)據(jù)類型,則所有元素都會(huì)被以0初始化;如果數(shù)組元素為類類型,則會(huì)調(diào)用默認(rèn)的構(gòu)造函數(shù)初始化。因此如果以此形式定義的vector動(dòng)態(tài)數(shù)組,需要保證作為數(shù)組元素的類具有默認(rèn)構(gòu)造函數(shù)。另外,初值也可以自己指定,但只能為所有元素指定相同的初值,形式為:
vector<元素類型>數(shù)組對(duì)象名(數(shù)組長(zhǎng)度,元素初值);
對(duì)vector數(shù)組對(duì)象元素的訪問方式與普通數(shù)組具有相同的形式:
數(shù)組對(duì)象名[下標(biāo)表達(dá)式];
vector定義的數(shù)組對(duì)象具有一個(gè)重要的成員函數(shù)size(),它會(huì)返回?cái)?shù)組的大小。
【例】vector應(yīng)用舉例
#include<iostream>
#include<vector>
using namespace std;
//計(jì)算arr數(shù)組中元素的平均值
double avg(const vector<double>& arr)
{
double sum = 0;
for (unsigned i = 0; i < arr.size(); i++)
{
sum += arr[i];
}
return sum / arr.size();
}
int main()
{
unsigned n;
cout << "n=";
cin >> n;
vector<double>arr(n);//創(chuàng)建數(shù)組對(duì)象
cout << "請(qǐng)輸入" << n << "個(gè)數(shù):" << endl;
for (unsigned i = 0; i < n; i++)
{
cin >> arr[i];
}
cout << "這" << n << "個(gè)數(shù)的平均值為:" << avg(arr)<<endl;
return 0;
}
運(yùn)行結(jié)果:
因篇幅問題不能全部顯示,請(qǐng)點(diǎn)此查看更多更全內(nèi)容
Copyright ? 2019- 91gzw.com 版權(quán)所有 湘ICP備2023023988號(hào)-2
違法及侵權(quán)請(qǐng)聯(lián)系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市萬商天勤律師事務(wù)所王興未律師提供法律服務(wù)