标准库类型vector
来源:互联网 发布:北京知蜂堂上海店 编辑:程序博客网 时间:2024/06/15 09:50
标准库类型vector表示对象的集合,其中所有对象的类型都相同,集合中每个对象都有一个索引,通过索引可以找到并访问对象,也可以理解为vector为容器,vector是一个类模板。
即在模板名字后面跟着一对尖括号,在括号内放上信息,提供的额外信息就是vector内所存放对象的类型,如:
vector<int> ivec; //ivec保存int型类型对象,则为vector<int>类型
vector<string> svec; //svec保存string类型的对象,则为vector<string>类型
定义和初始化vector对象
初始化vector对象时与标准库类型string很相似,不同的是在于列表初始化时需要注意几点。
先说常规初始化操作,如:
vector<T> v1; //默认初始化,v1为一个空的集合
vector<T> v2(v1); //直接初始化,v2表示v1的副本
vector<T> v3 = v2; //复值初始化,与前者相同,v3表示v2的副本
vector<T> v4 = {a,b,c}; //列表初始化,集合中包含有a,b,c
vector<T> v5{a,b,c}; //同上
vector<T> v6(10,a); //v6包含10个重复的元素,每个都为a
vector<T> v7(10); //v7包含10个空元素,都为0;
注意的是列表初始化时,列表初始值还是元素数量?
显而易见列表初始化使用花括号,圆括号则不行,
vector<T> v4{a,b,c}; //列表初始化,集合中包含有a,b,c
vector<T> v5(a,b,c); //错误
如果初始化使用花括号的形式,但是提供的值又不能用来列表初始化,则就要考虑用这样的值来构造vector对象,如:
vector<string> v1{"hi"}; //列表初始化,有一个元素
vector<string> v2("hi"); //错误,不能使用字符串字面值构建vector对象
vector<string> v3{10}; //v3有10个默认初始化的元素,因为花括号中提供值的类型与v3类型(vector<string>)相一致,才可以进行列表初始化。
vector<string> v4{10,"hi"}; //v4有10个值为hi的元素
vector对象中添加元素
传统的初始化方法在有些时候太过笨重,不方便,则c++可以利用vector的成员函数puch_back实现向vector对象中添加元素,不可以使用下标运算符来增添对象。
如:
vector<int> vec1;
for(int i = 0;i <= 10;++i)
vec1.puch_back(i);
cout << vec1 << endl;
其他对vector对象的操作与标准库类型string相一致
- 标准库vector类型
- 标准库vector类型
- 标准库vector类型
- 标准库vector类型
- 标准库Vector类型
- 标准库vector类型
- 标准库 vector 类型
- 标准库vector类型
- 标准库类型vector
- 标准库vector类型
- 标准库类型<vector>
- 标准库vector类型
- 标准库类型vector
- 标准库 vector 类型
- 标准库类型vector
- 标准库类型vector
- 标准库 vector 类型
- 标准库类型vector
- 网络爬虫基本原理(一)
- FL Studio CPU面板使用教程
- Android通知Notification
- android studio 结构 理解
- MyEclipse10.7配置Tomcat7.0
- 标准库类型vector
- 使用React和node搭建任务管理平台
- 深入理解 Java 垃圾回收机制
- iOS中使用AFN的delete请求遇到的坑
- 【c++】用c++的vector容器编写简单的通讯录
- 《你好哇,程序员》—教你如何成为一名牛X的程序员
- 服务Service之绑定服务(远程服务)
- python整数与IP地址转换
- openwrt 支持fbterm