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#winfrom播放器动态加载歌词
- Oracle表的几种连接方式
- POJ1151Atlantis 矩形面积并[线段树 离散化 扫描线]
- 第四章 HTML与JavaScript
- react路由深度解析
- java list随机打乱
- 【翻译十】java-固定锁和同步
- 201453408刘昊阳 《Java程序设计》第5周学习总结
- iOS __block类型变量作用域
- 未完全关闭数据库导致ORA-01012: not logged的解决
- 2.3CUDA矩阵乘法
- Android MediaCodec 使用例子
- virtualbox 中安装win7虚拟机
- Hibernate 实体关联关系映射----总结
- intellij 操作
- Kubenetes---Service
- 【译】第九篇 SQL Server安全透明数据加密
- java最简单实现Log打印和生成日志文件
- Ubuntu系统搭建SVN服务器
- HashMap的两种排序方式
热门文章
- HTML 标签的 target 属性
- XRichText
- python-django框架-电商项目-购物车模块开发_20191125
- deeplearning.ai 改善深层神经网络 week3 超参数调试、Batch Normalization和程序框架
- python Dom
- 初等数论-Base-2(扩展欧几里得算法,同余,线性同余方程,(附:裴蜀定理的证明))
- PyCharm 介绍、安装、入门使用
- 复合文字(Compound Literals)
- Redis报错Can&#39;t save in background: fork: Cannot allocate memory及类似问题的处理方法
- Hexo+Git一个小时快速搭建个人博客