c++中比较好用的“黑科技”
切入正题,上黑科技
一、黑科技函数(常用的我就不写了,例如sort函数)
1.next_permutation(a+1,a+1+n) a[1-n]全排列
2.reverse(a+1,a+1+n) 将a[1-n]的数翻转过来
3.*max_element(a+1,a+1+n) 找出a[1-n]数字最大值(*是因为这个函数是一个指针)
4.*min_element(a+1,a+1+n) 找出a[1-n]数字的最小值(*是因为这个函数是一个指针)
5.accumulate(a+1,a+n,0) 找出a[1-n]数字的和(0是初值)(c++11才支持)
6.num=unique(a+1,a+1+n)-a-1; 返回去重后数字个数,并将a数组去重
7.rotate(a+1,a+1+x,a+1+n) 把a数组前x数放在第n个数后面
8.lower_bound(a+1,a+1+n,x)-a 在a数组中下标[1-n]中找查找x的位置,返回第一个大于等于x的数字的指针-a即为下标
9.upper_bound(a+1,a+1+n,x)-a 在a数组中下标[1-n]中找查找x的位置,返回第一个大于x的数字的指针-a即为下标
10.random_shuffle(a+1,a+1+n) 随机打乱a数组中下标[1-n]中的数(对拍神器)
11.vector a; 定义一个动态数组a(具体如何使用我就不说了)
12.clock()*1.0/CLOCKS_PER_SEC 返回程序运行时间(CLOCKS_PER_SEC在Windows环境下是1000)
13.memset(a,0/-1/0x7f,sizeof(a)); 初始化a数组(只能是0,-1,正无穷)
二、黑科技宏定义
1.#define N 1000 把程序内N全部当成1000来用例如:a[N]=a[1000]
2.#define liangbei(a) a*2 (不好形容)例如:cout<<liangbei(10); 输出:20;
3.#define ll long long ll即代表long long
4.#define pr(x) cout<<#x<<"="<<(x)<<endl; (不好形容*2)例如:int x=1; pr(x) 输出:x=1
三、其他黑科技
1.O2 在编译的时候随你的代码进行优化(似乎是分等级的 O1/O2/O3)
例如:int a=0 for(int i=1;i<=n;i++) a++; 直接变成a=n;
如何在自己电脑上开O2呢?
点击编译器选项中写入-O2
2.-W -Wall -Wextra -Wconversion
在编译器选项中加入这句话,会在你程序编译时,给你提示一些你犯的一些低级错误(例如变量没初始化)
3.-std=c++11
在编译器选项中加入这句话,让你在比赛时的c++更加强大!(搞清楚比赛是不是支持c++)
附录:
1.Dev-c++软件中的编译器选项打开方式:
工具-->编译选项-->第一个白框。
持续更新!
c++中比较好用的“黑科技”的更多相关文章
- c++中比较好用的黑科技
切入正题,上黑科技 一.黑科技函数(常用的我就不写了,例如sort函数) 1.next_permutation(a+1,a+1+n) a[1-n]全排列 2.reverse(a+1,a+1+n) 将a ...
- Python3实现ICMP远控后门(中)之“嗅探”黑科技
ICMP后门 前言 第一篇:Python3实现ICMP远控后门(上) 第二篇:Python3实现ICMP远控后门(上)_补充篇 在上两篇文章中,详细讲解了ICMP协议,同时实现了一个具备完整功能的pi ...
- 黑科技抢先尝(续2) - Windows terminal中Powershell Tab的极简美化指南
目录 安装python 安装git 安装powerline字体 主题定制 安装oh-my-posh 查看策略组的执行权限 使用choco 安装终端模拟器 - ConEmu 优化 PowerShell ...
- 黑科技抢先尝(续) - Windows terminal中WSL Linux 终端的极简美化指南
目录 修改默认源,为apt-get安装提速 安装python 和 python pip 安装 zsh 安装powerline-font中的特定字体 安装powerline-shell 修改~目录下的配 ...
- 新手玩CSS中的一些黑科技
哎哎 1.鼠标移进网页里,不见了= = *{ cursor: none!important; } 2.简单的文字模糊效果 *{ color: transparent; text-shadow: #11 ...
- 黑科技!仅需 3 行代码,就能将 Gitter 集成到个人网站中,实现一个 IM 即时通讯聊天室功能?
欢迎关注个人微信公众号: 小哈学Java, 文末分享阿里 P8 高级架构师吐血总结的 <Java 核心知识整理&面试.pdf>资源链接!! 个人网站: https://www.ex ...
- [自己动手玩黑科技] 1、小黑科技——如何将普通的家电改造成可以与手机App联动的“智能硬件”
NOW, 步 将此黑科技传授予你~ 一.普通家电控制电路板分析 普通家电,其人机接口一般由按键和指示灯组成(高端的会稍微复杂,这里不考虑) 这样交互过程,其实就是:由当前指示灯信息,按照操作流程按相应 ...
- C++的黑科技
周二面了腾讯,之前只投了TST内推,貌似就是TST面试了 其中有一个问题,"如何产生一个不能被继承的类",这道题我反反复复只想到,将父类的构造函数私有,让子类不能调用,最后归结出一 ...
- 迪士尼黑科技:爬墙机器人 VertiGo
12 月 30 日,迪士尼研发出的一款爬墙机器人曝光了一段有趣的视频.从视频里可看出这个机器人碰到墙壁时迅速地作出反应爬了上去. 据了解,这个爬墙机器人名叫 VertiGo,由迪士尼研究中心和苏黎世联 ...
随机推荐
- typo3 安装
接到新任务,迁移typo3,可是我都没听说过这个是啥啊?怎么办?先装一个试试呗,听说这个是一个比较高端的一个cms,在国外挺流行的,国内就算了吧,毕竟我们又太多的cms了,哈哈哈,ok安装. 1.确定 ...
- Nexus-配置vPC 实验一
配置vPC的步骤:1.配置vPC domain2.配置vPC之间的keepalive link3.配置vPC之间的peer link4.配置vPCs5.确认双方配置一致 拓扑及描述:DC1-N7K-5 ...
- ANSYS布尔运算APDL
目录 1.交运算 2.加运算 3.减运算 4.分割 5. 搭接 6. 互分 6.粘结 1.交运算 交运算的结果是由每个初始图元的共同部分,形成一个新的图元. 命令 功能 备注 LINL 线与线的交 A ...
- 开关机安全控制!(设置进入bois的密码)
1.调整 BOIS 引导设置(1)将第一引导设备设为当前系统所在硬盘 (2)设置管理员密码 (3)进入bois后如图所示需输入bols密码才能登入
- windows网络编程-C语言实现简单的TCP协议聊天
TCP/IP协议(面向连接协议)类似于打电话时,对方一定在手机附近并且此刻都在和对方进行通话.一定保证双方都在线,才能进行数据传输.UDP/IP协议(无连接协议)就像邮箱,不保证对方一定在等你邮件且对 ...
- 固定ip配置
1.打开 网络和internet设置 2. 3. 4.查看详细信息 5.记住这几个 6.选择属性开始配置 7. 8.只要把ip地址设置为同一网段下面的你想要的设置的空余ip即可,其他掩码和DNS不要修 ...
- windows破解wifi小技巧
1,首先使用手机某软件破解wifi,手机连上破解的wifi 2,在手机上打开下面界面 3,在电脑上使用二维码识别小工具扫描二维码 4,得到扫面结果 4,得到扫描结果 WIFI:T:WPA;S:DFZJ ...
- Java通过反射实现实例化
public static void main(String[] args) throws Exception { User user= (User) test(User.class); System ...
- Maven笔记一
简介:什么是maven Maven是一个跨平台的项目管理工具,主要用于基于java平台的项目构建,依赖管理. 如图为项目构建的过程. 解决的项目的问题: 1. 如果有好几个项目,这好几个项目中,需要 ...
- Caffe2 的基本数据结构(Basics of Caffe2 - Workspaces, Operators, and Nets)[4]
这篇文章主要介绍Caffe2的基本数据结构: Workspaces Operators Nets 在开始之前最好先阅读以下Intro Turorial 首先,导入caffe2.其中core和works ...