1. //此处根据0还是1来判断具体使用那一段主函数
  2.  
  3. #if 0
  4. #define WAY
  5. #endif
  6.  
  7. #ifdef WAY
  8. #include <iostream>
  9. #include<string.h>
  10. #include<stdio.h>
  11. #include<algorithm>
  12. #include<vector>
  13.  
  14. #include <iomanip>
  15. using namespace std;
  16. int g_width=;
  17. int main() {
  18.  
  19. /*将数组赋值给vector的方法*/
  20. int a[]={,,,,,,,,,};
  21. cout <<"sizeof(a)"<<(sizeof(a)/sizeof(int))<<endl;
  22. vector<int> vec(a,a+(sizeof(a)/sizeof(int)));
  23.  
  24. //容器的逆序排列
  25. reverse(vec.begin(),vec.end());
  26.  
  27. //vector<int>::iterator i;
  28. cout.width(g_width);
  29. cout<<"a=";
  30. for(int i=;i<;i++)
  31. {
  32. cout.width(g_width);
  33. cout <<setiosflags(ios::internal)<< a[i];
  34. }
  35. cout << endl;
  36. cout.width(g_width);
  37. //cout.fill(9);
  38. cout<<"vec=";
  39. for(int i=;i<;i++)
  40. {
  41. //cout格式化输出,位宽为4个字节
  42. cout.width(g_width);
  43. cout<< vec[i];
  44. }
  45. cout << endl;
  46.  
  47. return ;
  48. }
  49. #else
  50.  
  51. #include <iostream> // std::cout
  52. #include <algorithm> // std::fill
  53.  
  54. using namespace std;
  55.  
  56. int main () {
  57. int array[]={}; // myvector: 0 0 0 0 0 0 0 0
  58.  
  59. cout<<"=======begin======="<<"\n";
  60. for (int i = ;i< ;i++)
  61. cout << ' ' << array[i];
  62. cout << '\n'<<'\n';
  63.  
  64. fill (array,array+,); // myvector: 5 5 5 5 0 0 0 0
  65. fill (array+,array+,); // myvector: 5 5 5 8 8 8 0 0
  66.  
  67. cout<<"=======after fill======="<<"\n";
  68. for (int i = ;i< ;i++)
  69. cout << ' ' << array[i];
  70. cout << '\n'<<'\n';
  71.  
  72. /*这里的用法和memset类似,但是看来还是memset使用起来方便*/
  73. const int a=sizeof(array)/sizeof(int);
  74. fill (array,array+a,);
  75. for (int i = ;i< ;i++)
  76. cout << ' ' << array[i];
  77. cout << '\n'<<'\n';
  78.  
  79. return ;
  80. }
  81. #endif

C++关于容器vector的使用方法以及#ifdef #else #endif #if #ifndef 的使用的更多相关文章

  1. C++线性序列容器<vector>简单总结

    C++线性序列容器<vector>简单总结 vector是一个长度可变的数组,使用的时候无须声明上限,随着元素的增加,Vector的长度会自动增加:Vector类提供额外的方法来增加.删除 ...

  2. 顺序容器的insert使用方法

    #include <iostream> #include <algorithm> #include <vector> #include <string> ...

  3. [C++]STL容器Vector的内存释放

    直接抛出两句话,说明到底应该如何释放Vector占用的内存. “vector的clear不影响capacity,你应该swap一个空的vector.” <Effective STL>中的“ ...

  4. C++中防止STL中迭代器失效——map/set等关联容器——vector/list/deque等序列容器—如何防止迭代器失效—即erase()的使用

    序列性容器::(vector和list和deque)   erase迭代器不仅使所有指向被删元素的迭代器失效,而且使被   删元素之后的所有迭代器失效,所以不能使用erase(iter++)的方 式, ...

  5. C++进阶 STL(1) 第一天 [容器,算法,迭代器] string容器 vector容器 deque容器

    课程大纲 02实现基本原理 容器,算法,迭代器 教室:容器 人:元素 教室对于楼:容器 序列式容器: 容器元素在容器中的位置是由进入容器的时间和地点来决定 序列式容器 关联式容器: 教室中 按年龄排座 ...

  6. 2.2 C语言_实现数据容器vector(排序功能)

    上一节我们说到我们己经实现了一般Vector可以做到的自动扩充,告诉随机存取,那么现在我们需要完成vector的一个排序的功能. 排序算法我们网上一百度哇~~!很常见的就有8大排序算法: 1.选择排序 ...

  7. 向量容器vector操作

    1.向量容器vector 1.1 vector说明 进行vector操作前应添加头文件#include<vector>: vector是向量类型,可以容纳许多类型的数据,因此也被称为容器: ...

  8. spring cloud: Hystrix(六):feign的注解@FeignClient:fallbackFactory(类似于断容器)与fallback方法

    fallbackFactory(类似于断容器)与fallback方法 feign的注解@FeignClient:fallbackFactory与fallback方法不能同时使用,这个两个方法其实都类似 ...

  9. STL标准库-容器-vector

    技术在于交流.沟通,本文为博主原创文章转载请注明出处并保持作品的完整性. 向量容器vector是一个动态数组,内存连续,它是动态分配内存,且每次扩张的原来的二倍. 他的结构如下 一 定义 vector ...

随机推荐

  1. 远程调试docker构建的weblogic

    环境信息 OSType: CentOS Linux 7 (Core) x86_64 3.10.0-957.21.3.el7.x86_64 DockerVersion: 19.03.8 Mirrors: ...

  2. RMQ Tarjan的Sparse-Table算法

    参考博客:https://www.cnblogs.com/wenzhixin/p/9714760.html 预处理时间复杂度是O(nlogn),代码如下: void init(const vector ...

  3. 洛谷1378 油滴扩展 dfs进行回溯搜索

    题目链接:https://www.luogu.com.cn/problem/P1378 题目中给出矩形的长宽和一些点,可以在每个点放油滴,油滴会扩展,直到触碰到矩形的周边或者其他油滴的边缘,求出剩余面 ...

  4. JDK下载、安装、卸载

    学习java的朋友,第一课就是安装JDK,如果你连他都不会安装,那就非常尴尬,如果面试的时候如果问到这个问题,就Game over了,下面来看看怎么弄吧! 了解JDK JDK的全称是JavaSE De ...

  5. [二分] Codefoces Anton and Making Potions

    Anton and Making Potions time limit per test 4 seconds memory limit per test 256 megabytes input sta ...

  6. spring最核心思想--ioc控制反转

    一核心概念 控制反转:将bean的生成交给容器,程序可以从容器中获取指定的bean. 个人理解:此优势也是spring能够流行并成为java主流框架的主要原因,java是帮助java程序员以对象的方式 ...

  7. Java集合框架要点概括(Core Knowledge of Java Collection)

    目录 有哪些集合类 Set类 Queue类 List类 Map类 HashMap的实现原理,是否线程安全,如何使其做到线程安全 HashMap的实现原理 HashMap的数据结构 HashMap的存取 ...

  8. Java基础语法(11)-面向对象之关键字

    title: Java基础语法(11)-面向对象之关键字 blog: CSDN data: Java学习路线及视频 1.this this是什么 它在方法内部使用,即这个方法所属对象的引用: clas ...

  9. iPhone连接到Mac上叮叮叮断断续续响个不停的解决办法

    一.推荐方式 1.让iPhone和Mac通过数据线连接(对,就是连着) 2.打开终端,执行如下命令: sudo killall -STOP -c usbd 3.一分钟内,iPhone即可连上Mac 二 ...

  10. Java工程师常用Linux命令

    本文所列的Linux常用命令包含:文件相关(目录操作,内容查看,查找与比较,压缩与解压),进程管理,网络操作,系统管理,性能监测与优化,Java常用工具多个方面概述. 文件目录基本操作 ls 命令用来 ...