C++ 用vector创建数组对象

C++ 标准库提供了被封装的动态数组——vector,这种被封装的数组可以具有各种类型。vector不是一个类,而是一个类模版。
vector定义动态数组的形式为:

vector<元素类型>数组对象名(数组长度);

尖括号中的类型名表示数组元素的类型。数组长度是一个表达式,表达式中可以包含变量。

#include <iostream>
#include <vector>

using namespace std;

// 计算数组arr 中元素的平均值
double average(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);       // 创建数组对象
	cout << "请输入" << n << "个元素:" << endl;
	for(unsigned i = 0; i < n; i++){
    
    
		cin >> arr[i];
	} 
	
	cout << "平均值 = " << average(arr) << endl;
	
	return 0;
}

注:

  • vector定义的数组对象的所有元素都会被初始化。如果数组的元素类型为基本数据类型,则所有元素都会被以0初始化;如果数组元素为类需要保证作为数组元素的类具有默认构造函数。另外,初值也可以自己指定,但只能为所有元素指定相同初值
    形式为:

    vector<元素类型>数组对象名(数组长度, 元素初值);

  • vector数组对象元素的访问方式,与普通数组具有相同的形式:

    数组对象名[下标表达式]

  • vector数组对象的名字表示的就是一个数组对象,而非数组的首地址,因为数组对象不是数组,而是封装了数组的对象。

  • vector定义的数组对象具有一个重要的成员函数 size(),它会返回数组的大小。

猜你喜欢

转载自blog.csdn.net/qq_44989881/article/details/112296383