1. //头文件
  2. #include<vector>
  3. using std::vector;
  4. vector<T> v1;
  5. vector<T> v2(v1);
  6. vector<T> v3(n,i);
  7. vector<T> v4(n);
  8. //创建确定个数的vector对象
  9. vector<int> ivec4(10,-1);
  10. vector<string> ivec4(10,"hi!");
  11. //值初始化
  12. //如果没有指定元素初始化,那么标准库将个自行提供一个元素初始值进行值初始化,如:vector保存内置类型(int)的元素,那么标准库将用0值创建元素舒适化式;
  13. //如果保存的是有构造函数类型的元素,标准库将用改类型的默认构造函数创建元素初始化式;
  14. //vector对象操作
  15. v.empty()//如果v为空则返回true,否则返回false。
  16. v.size()//返回v中元素的个数
  17. v.push_back(t)//在v的末尾增加一个值为t的元素
  18. v[n]//返回v中位置为n的数
  19. v1=v2 // 把v1的元素替换为v2中元素的副本;
  20. vi==v2 // 如果v1与v2相等则返回true
  21. !=<<=>>=保持这些操作符惯有的含义
  22. //vector对象的size
  23. //使用size_type 时必须指出该类型是在哪里定义的
  24. vector<int>::size_type
  25. //向vector中添加元素
  26. push_back()//将一个新元素添加到vector对象的后面
  27. //vector的下标操作
  28. for(vector<int>::szie_type ix=0; ix!=ivec.size(); ix++)
  29. {
  30. ivec[ix]=0;
  31. }
  32. //下标操作不能添加元素只能通过 push_back();下标操作仅能对已存在的元素进行下标操作
  33. //vector迭代器
  34. //标准库为每种标准容器定义了一种迭代器类型,所有的标准库迭代器都定义了相应的迭代器类型,而只有少数的容器支持下标操作
  35. //容器的iterator类型
  36. vector<int>::iterator iter;
  37. //数据类型:由vector<int>定义的iterator类型。
  38. //begin 和end操作
  39. //每种容器都定义了一对命名为begin和end的函数,用于返回迭代器
  40. vector<int>::iterator iter= ivec.begin();
  41. //把iter初始化为由名为begin的vector操作返回值的值。及iter指该元素为ivec[0].
  42. //vectror的自增和解引用运算
  43. //迭代器类型使用解引用操作符(*操作符)来访问迭代器所指元素:
  44. *iter=0;
  45. ++iter //指向第二个元素
  46. //由于end操作返回的迭代器不指向任何一个元素,因此不能进行自增和解引用操作
  47. //其他操作
  48. ==!=
  49. //应用程序示例
  50. for(vector<int>::iterator iter=ivec.gebin(); iter!=ivec.end();++iter)
  51. {
  52. *iter =0;
  53. }
  54. //const_iterator
  55. //const_iterator自身的值可以改变,但不能改变其所指向的元素的值,可以对迭代器进行自增及解引用操作来读取值,但不能对该元素进行赋值
  56. //const_iterator和const的iterator对象不一样
  57. //声明一个const迭代器必须初始化,一旦初始化后就不能改变其值
  58. vector<int> nums(10);
  59. cosnt vector<int>::iterator cit= nums.begin();
  60. *cit=1;//初始化
  61. ++cit;错不能改变cit的值
  62. //迭代器的算术操作
  63. iter +n
  64. iter - n

 

vector定义初始化的更多相关文章

  1. java二维数组定义初始化-杨辉三角

    public class Array2Demo2_3 { public static void main(String[] args) { //定义初始化 int[][] arr = new int[ ...

  2. 局部描述符表LDT的作用+定义+初始化+跳转相关

    [0]写在前面 0.1)本代码的作用: 旨在说明局部描述符表的作用,及其相关定义,初始化和跳转等内容: 0.2)文末的个人总结是干货,前面代码仅供参考的,且source code from orang ...

  3. 120. Triangle 以及一个多维vector如何初始化

    1.刚开始result的初始化写的是vector<vector<int>> result,然后再去对result[0][0] = triangle[0][0]赋值,一直报错.老 ...

  4. c++中的结构体:声明 定义 初始化

    什么是结构体? 之前的学习中我们知道了数组是一个容器,而且是存放固定大小数据的容器,而且存放的元素的数据类型必须要一致. 比如数据库中有这样的一条记录学号 性别 年龄 成绩 地址应该怎样存放 结构体: ...

  5. C++踩坑——用memset对vector进行初始化

    在一段程序中,使用memset对vector进行了初始化,然后得到了错误的结果.找这个bug花费了很长时间. vector中有其自身的结构,不能单纯的按字节进行初始化.使用memset对vector进 ...

  6. vector的初始化方式及用法笔记(不断更新)

    vector的初始化方式 1)第一种,类似于数组的方式:vector<string> letter(3);letter[0] = "find";letter[1] = ...

  7. C++STL中vector的初始化

    vector的初始化有很多方式,在N维初始化时还会一些容易出现错误的地方.下面进行总结 以下的总结均以int作为模板参数 一维vector的初始化 vector的构造函数通常来说有五种,如下: vec ...

  8. 多维的vector定义和初始化

    vector<vector<int> >vv(3, vector<int>(4));//这里,两个“>”间的空格是不可少的 将构造一个二维向量vv,它含有三个 ...

  9. 在spring容器中定义初始化和销毁bean前所做的操作,有三种方式

    1.使用注解,通过@PostConstruct 和 @PreDestroy 方法 实现初始化和销毁bean之前进行的操作 package com.luoq.test.annotation.init; ...

随机推荐

  1. 在公有云AZURE上部署私有云AZUREPACK以及WEBSITE CLOUD(二)

    前言 (二)建立虚拟网络环境,以及域控和DNS服务器   1搭建虚拟网络环境 在Azure上创建虚拟网络.本例选择的是东南亚数据中心.后面在创建虚机的时候,也选择这个数据中心. VNet Name: ...

  2. Day01 login module

    知识点:模块导入  变量赋值的两种形式  格式化输出  for循环  if...else 嵌套 #!C:\Program Files\Python35/bin # -*- conding:utf-8 ...

  3. Java EE必读书籍

    2011-09-18 15:21 24170人阅读 评论(46) 收藏 举报  分类: JavaEE等(280)  软件工程.原理(49)  计算机历史(3)  Web相关(83)  Linux/Un ...

  4. Python 生成器与迭代器 yield 案例分析

    前几天刚开始看 Python ,后因为项目突然到来,导致Python的学习搁置了几天.然后今天看回Python 发现 Yield 这个忽然想不起是干嘛用的了(所以,好记性不如烂笔头.).然后只能 花点 ...

  5. sencha ext js 6 入门

    Sencha Ext JS号称是目前世界上最先进和最强大的.支持多平台多设备的JavaScript应用程序开发框架.首先看一下Ext JS的发展简史. 1 Ext JS发展简史 YUI-Ext的作者J ...

  6. 《.NET开发资源大全》

    目录 API 应用框架(Application Frameworks) 应用模板(Application Templates) 人工智能(Artificial Intelligence) 程序集处理( ...

  7. AlloyTouch全屏滚动插件发布--30秒搞定顺滑H5页

    原文链接:https://github.com/AlloyTeam/AlloyTouch/wiki/AlloyTouch-FullPage-Plugin 先验货 插件代码可以在这里找到. 注意,虽然是 ...

  8. 深刻理解:C#中的委托、事件

    C#中的事件还真是有点绕啊,以前用JavaScript的我,理解起来还真是废了好大劲!刚开始还真有点想不明白为什么这么绕,想想和JS的区别,最后终于恍然大悟! C#中事件绕的根本原因: C#的方法,它 ...

  9. Android 急速发布项目到 JitPack

    转载请标明出处: http://www.cnblogs.com/zhaoyanjun/p/5942616.html 出自[赵彦军博客] 2016/10/09 前言:以前写过一篇 Android stu ...

  10. 容易忘记的git命令

    pwd命令:显示当前的目录 git init:把当前目录变成git可以管理的仓库 git diff 文件名:查看修改了什么内容 git log:查看commit历史,包括时间.作者.版本号.commi ...