是什么?
不是一个类,而是一个类模板 。
定义动态数组的形式:
vector<元素类型>数组对象名(数组长度);
自己指定初值(所有元素具有相同的初值):
vector<元素类型>数组对象名(数组长度,元素初值);
所有元素都会被初始化,基本数据类型以0初始化,类类型会调用类的默认构造函数初始化。所以以此形式定义的vector动态数组,需要保证作为数组元素的类具有默认构造函数。
数组对象元素访问方式:
数组对象名[下标表达式];
数组对象名表示的是一个数组对象,而非数组的首地址,因为数组对象不是数组,而是封装了数组的对象。
vector定义的数组对象具有一个重要的数据成员函数size( ),它会返回数组的大小。
vector应用
1 #include<iostream> 2 #include<vector> 3 using namespace std; 4 5 //求数组元素平均值 6 double average(const vector<double>&arr) 7 { 8 double sum = 0; 9 for (int i = 0; i < arr.size(); i++) 10 { 11 sum += arr[i]; 12 } 13 return sum / arr.size(); 14 } 15 16 int main() 17 { 18 int n; 19 cout << "请输入n:"; 20 cin >> n; 21 22 vector<double>arr(n); 23 cout << "请输入" << n << "个double类型的数:" << endl; 24 for (int i = 0; i < n; i++) 25 { 26 cin >> arr[i]; 27 } 28 29 cout << "数组平均值为:" << average(arr) << endl; 30 return 0; 31 }