文档开发者中心
我的

总结 | C++ 基本语法(六)

标准库vector类型


vector是同一种类型的对象的集合,每个对象都有一个对应的整数索引值。


1. vector对象的定义和初始化


初始化vector对象的方式:


vector<T> v1; vector保存类型为T的对象。
vector<T> v2(v1); v2是v1的副本
vector<T> v3(n, i); v3包含n个值为i的元素
vector<T> v4(n); v4含有值初始化的元素的n个副本


(1)创建确定个数的元素


构造函数用元素个数来决定vector对象保存元素的个数,元素值指定每个元素的初始值:


vector<int> ivec4(10, -1);

vector<string> svec(10, 'hi');


(2)值初始化


如果没有指定元素的初始化式,那么标准库将自行提供一个元素初始值进行值初始化。


如果vector保存内置类型(如int类型)的元素,那么标准库将用0值创建元素初始化:


vector<int> fvec(10);


如果vector保存的是含有构造函数的类类型(如string类型)的元素,标准库将用该类型默认构造函数创建元素初始化:


vector<string> svec(10);


2. vector对象的操作


vector操作:


v.empty() 如果v为空,则返回true, 否则返回false
v.size() 返回v中元素的个数
v.push_back(t) 在v的末尾增加一个值为t的元素
v[n] 返回v中位置为n的元素


(1)向vector添加元素


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


(2)vector的下标操作


for(vector<int>::size_type ix = 0; ix != ivec.size(); ++ix)
ivec[ix] =0;


(3)下标操作不添加元素


必须是已存在的元素才能用下标操作符进行索引。通过下标操作进行赋值时,不会添加任何元素。


for(vector<int>::size_type ix = 0; ix != 10; ++ix)
ivec.push_back(ix);


——————————————————


BY:HW-RJ

点赞
1
收藏
1
回复
22
分享
举报
浏览1662 发布于2019-11-21 07:02未知归属地
全部评论
最多点赞
最新发布
最早发布

顶顶,让更多人看到


20楼回复于2019-11-26 10:07 未知归属地

关联阅读:总结 | C 基本语法(三)

10楼回复于2019-11-21 07:23 未知归属地

我就看看,然后说句话。

22楼回复于2020-04-14 03:00 未知归属地

顶顶,让更多人看到


21楼回复于2019-11-27 18:19 未知归属地

最近发了很多帖子啊


19楼回复于2019-11-23 17:36 未知归属地

关联阅读:总结 | C 基本语法(十一)

18楼回复于2019-11-21 07:24 未知归属地

关联阅读:总结 | C 基本语法(十)

17楼回复于2019-11-21 07:24 未知归属地

关联阅读:总结 | C 基本语法(九)

16楼回复于2019-11-21 07:24 未知归属地

关联阅读:总结 | C 基本语法(八)

15楼回复于2019-11-21 07:24 未知归属地

关联阅读:总结 | C 基本语法(七)

14楼回复于2019-11-21 07:23 未知归属地
共3页
写回答
新增插入模板功能
一键使用模板,快速填写内容,轻松发帖~
知道了
  • 为了保障您的信息安全,请勿上传您的敏感个人信息(如您的密码等信息)和您的敏感资产信息(如关键源代码、签名私钥、调试安装包、业务日志等信息),且您需自行承担由此产生的信息泄露等安全风险。
  • 如您发布的内容为转载内容,请注明内容来源。

我要发帖子

了解社区公约,与您携手共创和谐专业的开发者社区。