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的构造函数相关推荐

  1. C++vector容器-构造函数

    vector数据结构和数组非常相似,也称为单端数组,在数组的尾段可以做插入,删除操作 vector不同于普通数组,vector可以动态扩展 动态扩展:并不是在原空间之后续接新空间,而是找更大的内存空间 ...

  2. STL中vector的构造函数

            vector是由STL提供的一种序列式容器,它的底层其实就是一个动态数组.如要使用vector,需要#include<vector>. vector的特点:        ...

  3. C++中vector的构造函数

    #include <iostream> #include <vector>using namespace std;/**vector<T> v; 默认构造vecto ...

  4. 二维数组vector的代码使用简单例子_vector容器_ 用构造函数vectorint()

    二维数组vector 用构造函数vector<int>() #include <iostream> #include<vector> using namespace ...

  5. matlab vector用法,C++ vector 用法汇总

    标准库Vector类型 使用需要的头文件: #include Vector:Vector 是一个类模板.不是一种数据类型. Vector是一种数据类型. 一.  定义和初始化 Vectorv1;    ...

  6. C++ vector的内部实现原理及基本用法

    本文基于STL vector源代码,但是不考虑分配器allocator,迭代器iterator,异常处理try/catch等内容,同时对_Ucopy(). _Umove(). _Ufill()函数也不 ...

  7. C++基础知识之vector

    vector容器类型: vector容器是一个模板类,可以存放任何类型的对象(但必须是同一类对象).vector对象可以在运行时高效地添加元素,并且vector中元素是连续存储的. vector的构造 ...

  8. C++ vector 容器浅析

    一.什么是vector? 向量(Vector)是一个封装了动态大小数组的顺序容器(Sequence Container).跟任意其它类型容器一样,它能够存放各种类型的对象.可以简单的认为,向量是一个能 ...

  9. Java 集合系列06: Vector深入解析

    戳上面的蓝字关注我们哦! 精彩内容 精选java等全套视频教程 精选java电子图书 大数据视频教程精选 java项目练习精选 概论 这是接着以前的文章分享的,这里给出以前的文章的连接,供小伙伴们回顾 ...

最新文章

  1. Innodb存储引擎——非聚集索引
  2. 终于没刘海了!iPhone12 Pro 渲染图首曝,回归经典
  3. java.Net.UnknownHostException异常
  4. JavaScript中的try...catch...finally
  5. Java线程的同步 - synchronized
  6. 输出100之间的所有质数(素数)
  7. springmvc中实现quartz定时任务
  8. MCU串行通讯和并行通讯的区别以及UART的理解
  9. CString,string,char*之间的转换
  10. Bootstrap INSPINIA 2.9.3 – 响应式管理模板
  11. Ubunto 16.04设置静态ip地址
  12. Spring Cloud 快速入门指南(一)
  13. 免费谷歌卫星地图下载器
  14. 手机号码归属地查询(php+redis)
  15. 网关——Zuul学习
  16. 软件项目外包平台:公司刚刚创业,人手不够怎么办?外包吧
  17. buck电路上下管_Buck电路原理
  18. python怎么在图片上写字_python如何实现内容写在图片上
  19. Bottle web framework
  20. dataset访问Oraclel数据库

热门文章

  1. 浅谈WebWork--一个小白对webwork的认识
  2. 通过winscp软件实现windows与linux目录数据同步
  3. 购物车设计思想之最佳
  4. 安卓微信摇一摇判断机制分析[基于7.0.18]
  5. 老司机带你顺手撸一个支付宝蚂蚁森林效果
  6. 回首“360”和“金山”的那次战役--小马哥“以彼之道还施彼身”
  7. oppo watch安装王者荣耀,adb完整代码及步骤
  8. ​一生E本用奥运品质为教育加持力量,和女排冠军宋妮娜一起开启学习新体验
  9. DAY109_TALK ABOUT C
  10. const char*类型的实参与LPCTSTR类型的形参不兼容 MFC