vector

标准库类型vector表示对象的集合,其中所以对象的类型都相同。

定义和初始化vector对象

vector<T> v1                   v1是一个空vector,T表示元素类型
vector<T> v2(n,val)            v2包含n个值为val的元素
vector<T> v3(n)                v3包含n个重复执行了值初始化的对象
vector<T> v4{a,b,c...}         v4包含了初始值个数的元素,每个元素被赋予相应的初始值
vector<T> v5={a,b,c...}        同v4 
vector<T> v6=v5                v6中包含v5中所以元素的副本
vector<T> v7(v5)               等价于v6=v5

下面是初始化时要注意的问题:
1、圆括号与花括号的区别

vector<string> v1{"a","an","the"};  //列表初始化
vector<string> v1("a","an","the"); //错误

2、列表初始值还是元素数量

vector<int> v1(10);  //v1中有10个元素,每个值都是0
vector<int> v2{10};  //v2中有1个元素,该元素值为10
vector<int> v3(10,1);  //v3中有10个元素,每个元素的值都是1
vector<int> v4{10,1};  //v4中有两个元素,值分别是10和1
vector<string> v5{10};  //v5有10个默认初始化的元素
vector<string> v6{10,"hi"};  //v6有10个值为"hi"的元素

还可以使用数组初始化vector对象:

int a[]={0,1,2,3,4,5};
vector<int> ivec(begin(a),end(a));  //ivec中有6个元素,分别是a中对于的元素副本
vector<int> avec(a+1,a+4);  //vector中有3个元素,分别是a[1],a[2],a[3]

向vector对象中添加元素

创建一个vector对象,令其包含0到99共100个对象:

vector<int> v;
for(int i=0;i!=100;++1)
v.push_back(i);

如果要到运行时才知道vector对象中元素的个数:

vector<string> s;
string str;
while(cin>>str){
s.push_back(str);
}

下标运算

vector可以使用下标运算符获取指定的元素。和string一样,它的下标也是从0开始计起,但注意不要用下标形式添加元素:

vector<int> v;
for(decltype(v.size()) i=0;i!=10;++i)
v[i]=i;  //错误,v中不包含任何元素
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值