Vector 创建数组对象
数组是继承于C语言的一种表示群体数据的方法,具有简单,高效的优点,但无论是静态数组,还是用new动态创建的数组,都难以检测下表越界的错误,在实际应用常常造成困扰。用vector创建数组对象,它通过将动态数组封装成一个类,允许在调试状态下访问元素时检查下标越界的错误。Vector不是一个类,而是一个类模板。
用vector定义动态数组的形式为:
Vector<元素类型>数组对象名(数组长度,元素初值);
Eg:int x = 10;
Vector<int>arr(x);
注意:
1.与普通数组不同的是,用vector定义的数组对象的所有元素都会被初始化。
2.但是vector数组对象的名字表示的就是一个数组对象,而非数组的首地址,因为数组对象不是数组,而是封 装起来的对象。
3.vector定义的数组对象具有一个重要的成员函数size(),它会返回数组的大小。
#include<iostream>
#include<vector>//必须需要头文件
using namespace std;
double average(constvector<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);
cout<<"please input"<<n<<"realnumbers:"<<endl;
for(unsigned i = 0;i<n;i++)
cin>>arr[i];
cout<<"Average = "<<average(arr)<<endl;
return 0;
}
//
1运行结果:
n =6
please input6real numbers:
1 2 3 4 5 6
Average = 3.5
Process returned 0 (0x0) execution time : 19.861 s
Press any key to continue.