1)简单 代码样例:我的理解   vector  其实就是一个简单的数组,然后通过迭代器来进行 遍历数组中的值,而且有自带push_back()来添加元素

  1. #include<iostream>
  2. #include<algorithm>
  3. #include<vector>
  4. using namespace std;
  5. void hanshu()
  6. {
  7. vector<int> v1;//v1是一个容器,将你的元素copy到容器中
  8. v1.push_back();//这个是开始,也就是v1.begin()
  9. v1.push_back();
  10. v1.push_back();//这个是结束,也就是v1.end()
  11. //3 4 5
  12. //↑ → →
  13. for(vector<int>::iterator t=v1.begin();t!=v1.end();t++)
  14.  
  15. {
  16. //这个迭代器t就是 v1这个数组中一个元素的指针
  17. //所以 取值要加*
  18. cout << *t <<endl;
  19. cout<<"!!!!!!!!!!!!!!!!!!"<<endl;
  20. }
  21.  
  22. }
  23. int main()
  24. {
  25.  
  26. hanshu();
  27. return ;
  28. }

2)迭代器  有双向迭代器,也有单项迭代器。

3)算法和迭代器能进行无缝的连接

  

  1. #include<iostream>
  2. #include<algorithm>
  3. #include<vector>
  4. using namespace std;
  5.  
  6. void hanshu()
  7. {
  8. vector<int> v1;//v1是一个容器,将你的元素copy到容器中
  9. v1.push_back(-);
  10. v1.push_back();
  11. v1.push_back();
  12. v1.push_back();
  13.  
  14. //算法,算法和迭代器能进行无缝的连接
  15. cout<<"~~~~~~~"<<count(v1.begin(),v1.end(),)<<endl;
  16. for(vector<int>::iterator t=v1.begin();t!=v1.end();t++)
  17.  
  18. {
  19. //这个迭代器t就是 v1这个数组中一个元素的指针
  20. //所以 取值要加*
  21. cout << *t <<endl;
  22. cout<<"!!!!!!!!!!!!!!!!!!"<<endl;
  23. }
  24.  
  25. }
  26. int main()
  27. {
  28.  
  29. hanshu();
  30. return ;
  31. }

然后是类的迭代器,其实子容器中,可以放任何类型的变量。

  1. #include<iostream>
  2. #include<algorithm>
  3. #include<vector>
  4. using namespace std;
  5. class student
  6. {
  7. public:
  8. student(int a)
  9. {
  10. age=a;
  11. }
  12. public:
  13. void show()
  14. {
  15. cout<<age<<endl;
  16. }
  17. public:
  18. int age;
  19.  
  20. };
  21. void hanshu()
  22. {
  23. //容器实现了数据类型 和 算法的有效分离
  24. //v1是一个容器,将你的元素copy到容器中
  25. vector<student> v1;
  26. student s1();
  27. student s2();
  28. student s3();
  29. v1.push_back(s1);
  30. v1.push_back(s2);
  31. v1.push_back(s3);
  32.  
  33. for(vector<student>::iterator t=v1.begin();t!=v1.end();t++)
  34.  
  35. {
  36. //这个迭代器t就是 v1这个数组中一个元素的指针
  37. //所以 取值要加*
  38. cout << t->age <<endl;
  39. cout<<"!!!!!!!!!!!!!!!!!!"<<endl;
  40. }
  41.  
  42. }
  43. int main()
  44. {
  45.  
  46. hanshu();
  47. return ;
  48. }

我还可以存我的 对象的首地址,但是  我的容器存的类型要变了    vector<类名*>  v1

  1. #include<iostream>
  2. #include<algorithm>
  3. #include<vector>
  4. using namespace std;
  5. class student
  6. {
  7. public:
  8. student(int a)
  9. {
  10. age=a;
  11. }
  12. public:
  13. void show()
  14. {
  15. cout<<age<<endl;
  16. }
  17. public:
  18. int age;
  19.  
  20. };
  21. void hanshu()
  22. {
  23. //容器实现了数据类型 和 算法的有效分离
  24. //v1是一个容器,将你的元素copy到容器中
  25. vector<student> v1;
  26. student s1();
  27. student s2();
  28. student s3();
  29. v1.push_back(s1);
  30. v1.push_back(s2);
  31. v1.push_back(s3);
  32.  
  33. for(vector<student>::iterator t=v1.begin();t!=v1.end();t++)
  34.  
  35. {
  36. //这个迭代器t就是 v1这个数组中一个元素的指针
  37. //所以 取值要加*
  38. cout << t->age <<endl;
  39. cout<<"!!!!!!!!!!!!!!!!!!"<<endl;
  40. }
  41.  
  42. }
  43. int main()
  44. {
  45.  
  46. hanshu();
  47. return ;
  48. }

64)vertor 简单使用的更多相关文章

  1. Jarvis OJ- [XMAN]level2/3_x64-Writeup——64位简单栈溢出

    两道64位栈溢出,思路和之前的32位溢出基本一致,所以放在一起 在这两道中体现的32位和64位的主要区别在于函数参数传递的方式 在32位程序运行中,函数参数直接压入栈中 调用函数时栈的结构为:调用函数 ...

  2. java gc的工作原理、如何优化GC的性能、如何和GC进行有效的交互

    java gc的工作原理.如何优化GC的性能.如何和GC进行有效的交互 一个优秀的Java 程序员必须了解GC 的工作原理.如何优化GC的性能.如何和GC进行有效的交互,因为有一些应用程序对性能要求较 ...

  3. linux常用命令及安装软件命令

    1.查看操作系统是33位还是64最简单的方法 getconf LONG_BIT 或者 uname -a 2.常用命令 2.1基本操作 clear 清屏 2.2安装命令 rpm(redhat packa ...

  4. Java第6次实验提纲(异常)

    PTA与参考资料 题集:集合 异常实验文件 第1次实验 1.1 7-1 常用异常 如何进行强制转换 如何捕获多种类型的异常 1.2 7-2 使用异常机制处理异常输入 在哪里加catch 1.3 7-3 ...

  5. Java第07次实验提纲(异常)

    PTA与参考资料 题集:集合 异常实验文件 第1次实验 1.1 7-1 常用异常 如何进行强制转换.父类型转化为子类型常见错误. 如何捕获多种类型的异常 简要输出异常信息,System.out.pri ...

  6. OVN架构翻译

    概述 ovn-controller是OVN在虚拟机上的agent,北向连接OVN的南向数据库,学习OVN的配置和状态,并使用虚拟机的状态来填充PN表以及Binding表的Chassis列:南向连接op ...

  7. [考试反思]0714/0716,NOIP模拟测试3/4

    这几天时间比较紧啊(其实只是我效率有点低我在考虑要不要坐到后面去吹空调) 但是不管怎么说,考试反思还是要写的吧. 第三次考试反思没写总感觉缺了点什么,但是题都刷不完... 一进图论看他们刷题好快啊为什 ...

  8. 精选 TOP 面试题

    1 两数之和     46.5%简单2 两数相加     35.5%中等3 无重复字符的最长子串     31.1%中等4 寻找两个有序数组的中位数     35.9%困难5 最长回文子串     2 ...

  9. leecode100热题 HOT 100(2)

    # 题名 题解 通过率 难度 出现频率     142 环形链表 II       43.3% 中等     146 LRU缓存机制       43.3% 中等     148 排序链表       ...

随机推荐

  1. Nginx+uwsgi+django部署项目

    nginx把请求转发给uwsgi,然后把uwsgi处理得到的结果返回给浏览器. 安装nginx: yum -y install gcc pcre-devel openssl-devel #安装Ngin ...

  2. 066-PHP通过函数名调用函数

    <?php function hello(){ //定义函数 echo '<br />Hello!<br />'; } function hellophp(){ //定义 ...

  3. Essay写作没逻辑不要慌,掌握这几点即可

    今天文章的内容,真的是很多很多留学生的最大的问题,没有之一:逻辑.是的,你没有看错,也不用惊讶.大家的essay写作得分不高,很多时候不是因为语言问题.排除很多细节表达的不足,更让教授头疼的居然是:内 ...

  4. 吴裕雄 Bootstrap 前端框架开发——Bootstrap 字体图标(Glyphicons):glyphicon glyphicon-tint

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name ...

  5. ACM-Special Array

    题目描述:Special array   输入n和m(20>=m>=n>0)求出所有满足以下方程的正整数数列 i1,i2,...,in,使i1+i2+...+in=m,且i1> ...

  6. LeetCode题解分类汇总(包括剑指Offer和程序员面试金典,持续更新)

    LeetCode题解汇总(持续更新,并将逐步迁移到本博客列表中) 剑指Offer 数据结构 链表 序号 题目 难度 06 从尾到头打印链表 简单 18 删除链表的节点 简单 22 链表中倒数第k个节点 ...

  7. Windows操作系统安装JDK环境

    Windows操作系统安装JDK环境 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一. Java常见的术语 1>.什么是JVM  只要在需要运行Java应用程序的操作系统上 ...

  8. CocoaPods安装/卸载/初始化等常用操作

    CocoaPods的官网:https://cocoapods.org/,官方指导文档https://guides.cocoapods.org/ 1)ruby gem源更换国内源gems.ruby-ch ...

  9. 吴裕雄--天生自然 JAVASCRIPT开发学习:语法

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...

  10. 初学C#之变量、占位符、转义符、还有就是类型转换

    ㈠.定义变量 先定义再赋值 int Num1; Num1 = ; 定义的同时赋值 ; 定义多个变量同时赋值,先决条件变量类型相同,例如: string phome = "1891250888 ...