一、容器Vector的优点
容器是一个模板类,它用于存放各种类型的数据,如基本类型的变量或者对象等,C++中的容器就是存储对象的一种介质,容器最最重要的优点就是可以自己动态扩展自己的大小;相当于动态的数组。
容器的类型分为三大类:顺序性容器,关联式容器和容器适配器。根据存储形式进行划分的。
C++中在函数的定义与调用时,通常会遇到一组数或者几组数作为参数传递和返回值,初学者会使用数组,但是在定义数组时需要确定数组大小,并且返回值需要使用动态数组,很多不方便的地方,这里我们使用容器作为传递和返回值可以避免这一问题。
二、容器作为函数返回值

//容器vector作为函数参数
#include <iostream>
#include <vector>
using namespace std;
///https://blog.csdn.net/Elon_Zac?type=blog
vector<double> function1( int n);//函数的声明 函数1返回值为容器
vector<double> function1( int n)  //函数1的定义,生成一个有n个元素的容器
{
	vector<double>c;
	c.resize(n);		//定义一个大小为n的容器c
	for (int i = 0; i < n; i++)
	{
		c[i] = i;		//容器可以用下标访问
	}
	return c;
}
int main()
{
	vector<double>c1;					//函数1的值传递给主函数定义的c1	
	cout<<"容器作为函数1的返回值"<<endl;
	for (int i = 0; i < c1.size(); i++)
	{
		cout << c1[i] << endl;
	} 
	system("pause");
	return 0;
}

输出结果
在这里插入图片描述三、容器作为函数参数
参数较多时,可以将数值装入容器vector,然后容器作为函数的参数。(代码见第四节)
四、 容器的操作
容器的遍历,将数组的值赋给容器,容器与容器相互赋值。


//容器vector作为函数参数,容器vector作为函数返回值,二维容器的使用
#include <iostream>
#include <vector>
using namespace std;
https://editor.csdn.net/md?articleId=127864070
vector<double> function2( vector<double>&b);//函数的声明 函数2 参数为容器 此处可以引用&也可以不引用&
vector<double> function2( vector<double>&b)  //函数2的定义,将容器b每个元素平方存入返回值容器 此处可以引用&也可以不引用&
{
	vector<double>c;
	int n = b.size();//读b一维容器的大小
	c.resize(n);
	cout<<"https://editor.csdn.net/md?articleId=127864070"<<endl;
	for (int i = 0; i < n; i++) 
	{
		c[i] = b[i]*b[i];
		cout << c[i] << endl; //输出c的元素
	}
	return c;
}

int main()
{
	vector<double>b;   //随便定义一个容器b
	vector<double>::iterator it;		//迭代器
	int arr[]	={0,1,2,3,4,5,6,7,8,9};//随便定义一个大小为10的数组arr
	vector<double>av ;
	av.assign(arr,arr+10);				//将数组arr的前10个变量赋给的容器av
	for (auto it = av.begin(); it < av.end(); it++)   //遍历av,将av容器的元素依次存入b容器
	{
		b.push_back(*it);
	}
	vector<double>c2;					//函数2的值传递给主函数定义的c2
	c2=function2(b);					//函数2的调用 参数为容器b
	cout<<"容器作为函数2的参数"<<endl;

	system("pause");
	return 0;
}
///https://blog.csdn.net/Elon_Zac?type=blog

输出结果:
在这里插入图片描述

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐