vector的构造函数
vector的构造函数
vector():创建一个空vector
vector(int nSize):创建一个vector,元素个数为nSize
vector(int nSize,const t& t):创建一个vector,元素个数为nSize,且值均为t
vector(const vector&):复制构造函数
vector(begin,end):复制[begin,end)区间内另一个数组的元素到vector中,注意最后面的end其实并不包括,此函数也可以认为是vector(begin, begin + lenth)
vector判空
void IsEmpty(const vector<int>& ve)
{if (ve.begin() == ve.end()) {cout << "size of ve: " << ve.size() << " begin == end" << endl;}
}void func()
{vector<int> vec;IsEmpty(vec);vec.push_back(1);vec.pop_back();IsEmpty(vec);
}
结果输出为
size of ve: 0 begin == end
size of ve: 0 begin == end
当vector容量为空时,迭代器begin == end
使用构造函数
#include <iostream>
#include <vector>
#include <string>using namespace std;template <class T>
void printVector(const vector<T>& ve)
{for (auto e : ve) {cout << e << " ";}cout << endl;
}void f()
{int nums[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};vector<int> ve1(nums, nums + 7);cout << "ve1: " << endl;printVector(ve1);const char *p = "hello world";vector<char> ve2(p, p + 12);cout << "ve2: " << endl;printVector(ve2);vector<string> ve3(7, "ha");cout << "ve3: " << endl;printVector(ve3);vector<int> ve4(30);cout << "ve4: " << endl;printVector(ve4);
}int main()
{f();return 0;
}
输出
ve1:
1 2 3 4 5 6 7
ve2:
h e l l o w o r l d
ve3:
ha ha ha ha ha ha ha
ve4:
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
使用vector(int nSize)得到的vector内会初始化为0?
通过验证得到,vector, map<type, int>的初始化时,都会把数据初始化为0。
vector的构造函数相关推荐
- C++vector容器-构造函数
vector数据结构和数组非常相似,也称为单端数组,在数组的尾段可以做插入,删除操作 vector不同于普通数组,vector可以动态扩展 动态扩展:并不是在原空间之后续接新空间,而是找更大的内存空间 ...
- STL中vector的构造函数
vector是由STL提供的一种序列式容器,它的底层其实就是一个动态数组.如要使用vector,需要#include<vector>. vector的特点: ...
- C++中vector的构造函数
#include <iostream> #include <vector>using namespace std;/**vector<T> v; 默认构造vecto ...
- 二维数组vector的代码使用简单例子_vector容器_ 用构造函数vectorint()
二维数组vector 用构造函数vector<int>() #include <iostream> #include<vector> using namespace ...
- matlab vector用法,C++ vector 用法汇总
标准库Vector类型 使用需要的头文件: #include Vector:Vector 是一个类模板.不是一种数据类型. Vector是一种数据类型. 一. 定义和初始化 Vectorv1; ...
- C++ vector的内部实现原理及基本用法
本文基于STL vector源代码,但是不考虑分配器allocator,迭代器iterator,异常处理try/catch等内容,同时对_Ucopy(). _Umove(). _Ufill()函数也不 ...
- C++基础知识之vector
vector容器类型: vector容器是一个模板类,可以存放任何类型的对象(但必须是同一类对象).vector对象可以在运行时高效地添加元素,并且vector中元素是连续存储的. vector的构造 ...
- C++ vector 容器浅析
一.什么是vector? 向量(Vector)是一个封装了动态大小数组的顺序容器(Sequence Container).跟任意其它类型容器一样,它能够存放各种类型的对象.可以简单的认为,向量是一个能 ...
- Java 集合系列06: Vector深入解析
戳上面的蓝字关注我们哦! 精彩内容 精选java等全套视频教程 精选java电子图书 大数据视频教程精选 java项目练习精选 概论 这是接着以前的文章分享的,这里给出以前的文章的连接,供小伙伴们回顾 ...
最新文章
- Innodb存储引擎——非聚集索引
- 终于没刘海了!iPhone12 Pro 渲染图首曝,回归经典
- java.Net.UnknownHostException异常
- JavaScript中的try...catch...finally
- Java线程的同步 - synchronized
- 输出100之间的所有质数(素数)
- springmvc中实现quartz定时任务
- MCU串行通讯和并行通讯的区别以及UART的理解
- CString,string,char*之间的转换
- Bootstrap INSPINIA 2.9.3 – 响应式管理模板
- Ubunto 16.04设置静态ip地址
- Spring Cloud 快速入门指南(一)
- 免费谷歌卫星地图下载器
- 手机号码归属地查询(php+redis)
- 网关——Zuul学习
- 软件项目外包平台:公司刚刚创业,人手不够怎么办?外包吧
- buck电路上下管_Buck电路原理
- python怎么在图片上写字_python如何实现内容写在图片上
- Bottle web framework
- dataset访问Oraclel数据库
热门文章
- 浅谈WebWork--一个小白对webwork的认识
- 通过winscp软件实现windows与linux目录数据同步
- 购物车设计思想之最佳
- 安卓微信摇一摇判断机制分析[基于7.0.18]
- 老司机带你顺手撸一个支付宝蚂蚁森林效果
- 回首“360”和“金山”的那次战役--小马哥“以彼之道还施彼身”
- oppo watch安装王者荣耀,adb完整代码及步骤
- ​一生E本用奥运品质为教育加持力量,和女排冠军宋妮娜一起开启学习新体验
- DAY109_TALK ABOUT C
- const char*类型的实参与LPCTSTR类型的形参不兼容 MFC