• vector是向量类型,可以容纳许多类型的数据,因此也被称为容器
  • (可以理解为动态数组,是封装好了的类)
  • 进行vector操作前应添加头文件#include <vector>
  • //定义具有10个整型元素的向量(尖括号为元素类型名,它可以是任何合法的数据类型),不具有初值,其值不确定
  • vector<int>a(10);
  • //定义具有10个整型元素的向量,且给出的每个元素初值为1
  • vector<int>a(10,1);
  • //用向量b给向量a赋值,a的值完全等价于b的值
  • vector<int>a(b);
  • //将向量b中从0-2(共三个)的元素赋值给a,a的类型为int型
  • vector<int>a(b.begin(),b.begin+3);
  • //从数组中获得初值 int b[7]={1,2,3,4,5,6,7};
  • vector<int> a(b,b+7);

#include<vector>
vector<int> a,b;
//b为向量,将b的0-2个元素赋值给向量a
a.assign(b.begin(),b.begin()+3);
//a含有4个值为2的元素
a.assign(4,2);
//返回a的最后一个元素
a.back();
//返回a的第一个元素
a.front();
//返回a的第i元素,当且仅当a存在
a[i];
//清空a中的元素
a.clear();
//判断a是否为空,空则返回true,非空则返回false
a.empty();
//删除a向量的最后一个元素
a.pop_back();
//删除a中第一个(从第0个算起)到第二个元素,也就是说删除的元素从a.begin()+1算起(包括它)一直到a.begin()+3(不包括它)结束
a.erase(a.begin()+1,a.begin()+3);
//在a的最后一个向量后插入一个元素,其值为5
a.push_back(5);
//在a的第一个元素(从第0个算起)位置插入数值5,
a.insert(a.begin()+1,5);
//在a的第一个元素(从第0个算起)位置插入3个数,其值都为5
a.insert(a.begin()+1,3,5);
//b为数组,在a的第一个元素(从第0个元素算起)的位置插入b的第三个元素到第5个元素(不包括b+6)
a.insert(a.begin()+1,b+3,b+6);
//返回a中元素的个数
a.size();
//返回a在内存中总共可以容纳的元素个数
a.capacity();
//将a的现有元素个数调整至10个,多则删,少则补,其值随机
a.resize(10);
//将a的现有元素个数调整至10个,多则删,少则补,其值为2
a.resize(10,2);
//将a的容量扩充至100,
a.reserve(100);
//b为向量,将a中的元素和b中的元素整体交换
a.swap(b);
//b为向量,向量的比较操作还有 != >= > <= <
a==b;

C++ vector理解相关推荐

  1. c++ vector查找_C++ vector内存分配策略浅析

    (给CPP开发者加星标,提升C/C++技能) 来源:邱国禄https://blog.csdn.net/qiuguolu1108/article/details/107146184 vector是一个封 ...

  2. GMM、fisher vector、SIFT与HOG特征资料

    GMM与fisher vector理解 查阅fisher vector资料时看到的几篇介绍fisher vector很不错的博文,要了解fisher vector你需要先了解GMM高斯混合模型,这两篇 ...

  3. C++ vector容器中用erase函数和迭代器删除重复元素问题分析

    第一种写法: #include <iostream> #include <vector> using namespace std;int main() {vector<i ...

  4. STL之Vector(Linux内核)完整实现

    自上次写了map之后对Vector比较感兴趣,由于对Vector理解不是很深刻,利用业余时间从Linux系统中拷贝出完整的Vector代码进行学习参考,并对一部分做了修改可以在Windows系统运行. ...

  5. 数据结构+算法+c++学习(写在前面)

    本篇开始将开始更新算法方面的博客,其实应该是数据结构更多一些,我不知道大家是如何学习算法和数据结构的,就我目前的学习情况,简单的和大家说一下感受.本人研一时学校开设了算法这门课程,当时上这门课时也很用 ...

  6. @4-1 CCF 2020-06-1 线性分类器

    线性分类器 题目描述 样例 源代码 关于这题 题目描述 样例 源代码 #include<iostream> #include <vector> using namespace ...

  7. 轻轻松松学习C++ 标准模板库STL

    作为C++标准不可缺少的一部分,STL应该是渗透在C++程序的角角落落里的.STL不是实验室里的宠儿,也不是程序员桌上的摆设,她的激动人心并非昙花一现.本教程旨在传播和普及STL的基础知识,若能借此机 ...

  8. C++ STL轻松导学

    名称 C++ STL轻松导学 作者 晨光(Morning) 简介 本教程介绍有关学习C++ STL的预备知识和STL的相关背景知识,适合想对STL做大致了解的初学者. 声明 本教程版权为晨光(Morn ...

  9. C++ STL编程轻松入门基础

    C++ STL编程轻松入门基础 1 初识STL:解答一些疑问 1.1 一个最关心的问题:什么是STL 1.2 追根溯源:STL的历史 1.3 千丝万缕的联系 1.4 STL的不同实现版本 2 牛刀小试 ...

  10. C++STL编程入门

    作为C++标准不可缺少的一部分,STL应该是渗透在C++程序的角角落落里的.STL不是实验室里的宠儿,也不是程序员桌上的摆设,她的激动人心并非昙花一现.本教程旨在传播和普及STL的基础知识,若能借此机 ...

最新文章

  1. HDU - 3078 Network 倍增LCA
  2. powerdesigner中类图的内部类画法
  3. 二进制中1的个数(2)
  4. python3 的 str bytes 区别
  5. Node.js 笔记01
  6. raid1 热备盘 linux,Centos 6.5 RAID1加热备盘
  7. 下午带着几个同学打了两节课的牌~
  8. 模拟视频光端机与数字光端机究竟有何区别
  9. Android Binder漏洞挖掘技术与案例分享
  10. 18张动图,向你展示难得一见的瞬间
  11. shell脚本之从1加到100之和的思路
  12. IAR 的精确延时程序(转)
  13. ecshop插件_ECSHOP和SHOPEX快递单号查询中通快递插件V8.6专版
  14. ArcGIS水文分析实战教程(12)河网分级流程
  15. SQL在线练习 工具
  16. JS 字符串去除首尾空格
  17. 操作系统课堂笔记七-交换技术
  18. 微信小程序-仿微信朋友圈
  19. 计算机课怎么切屏,电脑怎么切屏 电脑如何切屏
  20. Python处理Excel求取某列固定间隔数的平均值

热门文章

  1. 数据挖掘中最易犯的10个错误,请绕行!
  2. C++--第26课 - 异常处理 - 下
  3. Leader-Follower线程模型
  4. HTML学习之==JS
  5. Docker 安装(学习笔记一)
  6. 有些东西需要深刻理解概念才行
  7. Android 助力云计算
  8. 自定义nagios监控mogilefs存储节点脚本
  9. 学习IP地址的一些体会总结
  10. S3C6410和S5PV210的启动模式介绍