C++关于容器vector的使用方法以及#ifdef #else #endif #if #ifndef 的使用
- //此处根据0还是1来判断具体使用那一段主函数
- #if 0
- #define WAY
- #endif
- #ifdef WAY
- #include <iostream>
- #include<string.h>
- #include<stdio.h>
- #include<algorithm>
- #include<vector>
- #include <iomanip>
- using namespace std;
- int g_width=;
- int main() {
- /*将数组赋值给vector的方法*/
- int a[]={,,,,,,,,,};
- cout <<"sizeof(a)"<<(sizeof(a)/sizeof(int))<<endl;
- vector<int> vec(a,a+(sizeof(a)/sizeof(int)));
- //容器的逆序排列
- reverse(vec.begin(),vec.end());
- //vector<int>::iterator i;
- cout.width(g_width);
- cout<<"a=";
- for(int i=;i<;i++)
- {
- cout.width(g_width);
- cout <<setiosflags(ios::internal)<< a[i];
- }
- cout << endl;
- cout.width(g_width);
- //cout.fill(9);
- cout<<"vec=";
- for(int i=;i<;i++)
- {
- //cout格式化输出,位宽为4个字节
- cout.width(g_width);
- cout<< vec[i];
- }
- cout << endl;
- return ;
- }
- #else
- #include <iostream> // std::cout
- #include <algorithm> // std::fill
- using namespace std;
- int main () {
- int array[]={}; // myvector: 0 0 0 0 0 0 0 0
- cout<<"=======begin======="<<"\n";
- for (int i = ;i< ;i++)
- cout << ' ' << array[i];
- cout << '\n'<<'\n';
- fill (array,array+,); // myvector: 5 5 5 5 0 0 0 0
- fill (array+,array+,); // myvector: 5 5 5 8 8 8 0 0
- cout<<"=======after fill======="<<"\n";
- for (int i = ;i< ;i++)
- cout << ' ' << array[i];
- cout << '\n'<<'\n';
- /*这里的用法和memset类似,但是看来还是memset使用起来方便*/
- const int a=sizeof(array)/sizeof(int);
- fill (array,array+a,);
- for (int i = ;i< ;i++)
- cout << ' ' << array[i];
- cout << '\n'<<'\n';
- return ;
- }
- #endif
C++关于容器vector的使用方法以及#ifdef #else #endif #if #ifndef 的使用的更多相关文章
- C++线性序列容器<vector>简单总结
C++线性序列容器<vector>简单总结 vector是一个长度可变的数组,使用的时候无须声明上限,随着元素的增加,Vector的长度会自动增加:Vector类提供额外的方法来增加.删除 ...
- 顺序容器的insert使用方法
#include <iostream> #include <algorithm> #include <vector> #include <string> ...
- [C++]STL容器Vector的内存释放
直接抛出两句话,说明到底应该如何释放Vector占用的内存. “vector的clear不影响capacity,你应该swap一个空的vector.” <Effective STL>中的“ ...
- C++中防止STL中迭代器失效——map/set等关联容器——vector/list/deque等序列容器—如何防止迭代器失效—即erase()的使用
序列性容器::(vector和list和deque) erase迭代器不仅使所有指向被删元素的迭代器失效,而且使被 删元素之后的所有迭代器失效,所以不能使用erase(iter++)的方 式, ...
- C++进阶 STL(1) 第一天 [容器,算法,迭代器] string容器 vector容器 deque容器
课程大纲 02实现基本原理 容器,算法,迭代器 教室:容器 人:元素 教室对于楼:容器 序列式容器: 容器元素在容器中的位置是由进入容器的时间和地点来决定 序列式容器 关联式容器: 教室中 按年龄排座 ...
- 2.2 C语言_实现数据容器vector(排序功能)
上一节我们说到我们己经实现了一般Vector可以做到的自动扩充,告诉随机存取,那么现在我们需要完成vector的一个排序的功能. 排序算法我们网上一百度哇~~!很常见的就有8大排序算法: 1.选择排序 ...
- 向量容器vector操作
1.向量容器vector 1.1 vector说明 进行vector操作前应添加头文件#include<vector>: vector是向量类型,可以容纳许多类型的数据,因此也被称为容器: ...
- spring cloud: Hystrix(六):feign的注解@FeignClient:fallbackFactory(类似于断容器)与fallback方法
fallbackFactory(类似于断容器)与fallback方法 feign的注解@FeignClient:fallbackFactory与fallback方法不能同时使用,这个两个方法其实都类似 ...
- STL标准库-容器-vector
技术在于交流.沟通,本文为博主原创文章转载请注明出处并保持作品的完整性. 向量容器vector是一个动态数组,内存连续,它是动态分配内存,且每次扩张的原来的二倍. 他的结构如下 一 定义 vector ...
随机推荐
- 远程调试docker构建的weblogic
环境信息 OSType: CentOS Linux 7 (Core) x86_64 3.10.0-957.21.3.el7.x86_64 DockerVersion: 19.03.8 Mirrors: ...
- RMQ Tarjan的Sparse-Table算法
参考博客:https://www.cnblogs.com/wenzhixin/p/9714760.html 预处理时间复杂度是O(nlogn),代码如下: void init(const vector ...
- 洛谷1378 油滴扩展 dfs进行回溯搜索
题目链接:https://www.luogu.com.cn/problem/P1378 题目中给出矩形的长宽和一些点,可以在每个点放油滴,油滴会扩展,直到触碰到矩形的周边或者其他油滴的边缘,求出剩余面 ...
- JDK下载、安装、卸载
学习java的朋友,第一课就是安装JDK,如果你连他都不会安装,那就非常尴尬,如果面试的时候如果问到这个问题,就Game over了,下面来看看怎么弄吧! 了解JDK JDK的全称是JavaSE De ...
- [二分] Codefoces Anton and Making Potions
Anton and Making Potions time limit per test 4 seconds memory limit per test 256 megabytes input sta ...
- spring最核心思想--ioc控制反转
一核心概念 控制反转:将bean的生成交给容器,程序可以从容器中获取指定的bean. 个人理解:此优势也是spring能够流行并成为java主流框架的主要原因,java是帮助java程序员以对象的方式 ...
- Java集合框架要点概括(Core Knowledge of Java Collection)
目录 有哪些集合类 Set类 Queue类 List类 Map类 HashMap的实现原理,是否线程安全,如何使其做到线程安全 HashMap的实现原理 HashMap的数据结构 HashMap的存取 ...
- Java基础语法(11)-面向对象之关键字
title: Java基础语法(11)-面向对象之关键字 blog: CSDN data: Java学习路线及视频 1.this this是什么 它在方法内部使用,即这个方法所属对象的引用: clas ...
- iPhone连接到Mac上叮叮叮断断续续响个不停的解决办法
一.推荐方式 1.让iPhone和Mac通过数据线连接(对,就是连着) 2.打开终端,执行如下命令: sudo killall -STOP -c usbd 3.一分钟内,iPhone即可连上Mac 二 ...
- Java工程师常用Linux命令
本文所列的Linux常用命令包含:文件相关(目录操作,内容查看,查找与比较,压缩与解压),进程管理,网络操作,系统管理,性能监测与优化,Java常用工具多个方面概述. 文件目录基本操作 ls 命令用来 ...