10分钟了解c++中vector基本内容

标准容类型vector:

首先,vector是一个相同类型的集合,存放相同类型的数据.要使用它的头文件<vector>,并且使用命名空间,usingstd::vector;引出c++类模板和函数模板.这里的vector是一个类模板.

模板本身不是类也不是函数,可以把模板看成是要生成类或者函数的一份说明.编译器根据模板创建类或者函数的过程称为实例化,也就是说需要指定模板需要转化成什么类型?

提供的信息:在模板名字后面加上一对尖括号.来指定需要实例化成什么类.

:

vector
vector<int>ivec; //ivec保存int类型的对象
vector<Sales_item>Sales_vec; //Sales_vec中保存Sales_item这个对象
vector<vector<string>>file; //file中的元素是vector对象

1.1 定义和初始化vector

定义空vector:

vector <string>svec;

vector<int>ivec;
vector<int>ivec2(ivec); //ivec给ivec2拷贝
vector<int>ivec3= ivec; //ivec给ivec3拷贝
vector<string>svec(ivec2);//错误 拷贝类型不同


值初始化

vector<int>ivec(10); //10个元素,每个初始化为0
vector<string>svec(10); //10个元素,每个都是空string对象
vector<int>ivec = 10;//只能表示拷贝,不是指定向量的大小

列表初始化还是元素数量的时候?

可以使用(),{}来区分

vector<int>v1(10); //十个元素都是零
vector<int>v2{10}; //一个元素为10
vector<int>v3(10,1); //10个元素全为1
vector<int>v4{10,1}; //两个元素10和1


vector<string>v5{“hi”}; //一个字符串hi
vector<string>v6(“hi”); //错误
vector<string>v7{10}; //十个空字符串
vector<string>v8{10,”hi”}; //十个hi字符串

要做到值初始化vector必须要做到类型相同.


1.2vector对象中添加元素

Example1:

vector<int>v2; //空vector对象
for(int i=0;i !=100;++i)
v2.push_back(i);//依次把整数放到v2尾端

分析:

这里push_backvector的成员函数,push表示压,back表示'尾端',vector的优势在于不需要给定长度,可以动态的忘里面添加信息.

Example2:

string word;
vector<string>text;
while(cin>>word)
{
text.push_back(word);
}


建议:除非vector中所有元素都相同,否则使用未指定大小的vector动态添加.

注意:在给vector赋值的时候,不要使用范围的for,因为初始时,范围for指定了vector的上界.

1.3其他的vector操作

vector<int>v{1,2,3,4,5,6,7,8,9}
for(auto &i : v)//定义成引用类型,改变i值对它本身有影响.auto自动指定类型.
I *=i;
for (auto I:v)
cout<<i<<””;
cout<<endl;

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值