标准库类型vector

1.列表初始化vector对象

C++11新标准提供了一种为vector对象的元素赋初值的方法,即列表初始化。如果提供的是初始元素的列表,则只能把初始值都放在花括号里进行列表初始化,而不能放在圆括号里。

vector<string> v1{"a","an","the"};
2.列表初始化还是元素数量

基本原则:
如果用的是圆括号,可以说提供的值是用来构造vector对象的;
如果用的是花括号,可以说我们想列表初始化该vector对象。

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有2个元素,值分别是10和1

如果初始化时使用了花括号的形式但是提供的值又不能用来列表初始化,就要考虑用这样的值来构造vector对象了。想要列表初始化vector对象,花括号里的值必须与元素类型相同。确认无法执行列表初始化之后,编译器会尝试用默认值初始化vector对象。

vector<string> v7{10};//v7有10个默认初始值的元素
vector<string> v8{10,"hi"};//v8有10个值为"hi"的元素
3.其他vector操作
格式vector支持的操作
v.empty()如果v不含任何元素,返回真;否则返回假
v.size()返回v中元素的个数
v.push_back(t)向v的尾端添加一个值为t的元素
v[n]返回v中第n个位置上元素的引用
v1 = v2用v2中元素的拷贝替换v1中的元素
v1 = {a,b,c...}用列表中元素的拷贝替换v1中的元素
v1 == v2v1和v2相等当且仅当元素数量相同且对应位置的元素值都相同
v1 != v2
<, <=, >, >=以字典顺序进行比较
4.不能用下标形式添加元素

vector对象(以及string对象)的下标运算符可用于访问已存在的元素,而不能用于添加元素。
确保下标合法的一种有效手段就是尽可能使用范围for语句

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值