c++中比较好用的“黑科技”

所属分类: 软件编程 / C 语言 阅读数: 87
收藏 0 赞 0 分享

一、黑科技函数(常用的我就不写了,例如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.memdet(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++中四种对象生存期和作用域以及static的用法总结分析

以下是对C++中四种对象生存期和作用域以及static的用法进行了详细的介绍,需要的朋友可以过来参考下
收藏 0 赞 0 分享

C++嵌套类与局部类详细解析

从作用域的角度看,嵌套类被隐藏在外围类之中,该类名只能在外围类中使用。如果在外围类之外的作用域使用该类名时,需要加名字限定
收藏 0 赞 0 分享

C++空类详解

以下是对C++中的空类进行了详细的介绍,需要的朋友可以过来参考下
收藏 0 赞 0 分享

C++之友元:友元函数和友元类详解

友元是一种允许非类成员函数访问类的非公有成员的一种机制。可以把一个函数指定为类的友元,也可以把整个类指定为另一个类的友元
收藏 0 赞 0 分享

C++中返回指向函数的指针示例

int (*ff(int)) (int *,int);表示:ff(int)是一个函数,带有一个int型的形参,该函数返回int (*) (int *,int),它是一个指向函数的指针,所指向的函数返回int型并带有两个分别是Int*和int型的形参
收藏 0 赞 0 分享

C数据结构之单链表详细示例分析

以下是对C语言中的单链表进行了详细的分析介绍,需要的朋友可以过来参考下
收藏 0 赞 0 分享

C数据结构之双链表详细示例分析

以下是对c语言中的双链表进行了详细的分析介绍,需要的朋友可以过来参考下
收藏 0 赞 0 分享

浅析如何在c语言中调用Linux脚本

如何在c语言中调用Linux脚本呢?下面小编就为大家详细的介绍一下吧!需要的朋友可以过来参考下
收藏 0 赞 0 分享

深入解析unsigned int 和 int

以下是对unsigned int和int进行了详细的分析介绍,需要的朋友可以过来参考下
收藏 0 赞 0 分享

浅谈C++中的string 类型占几个字节

本篇文章小编并不是为大家讲解string类型的用法,而是讲解我个人比较好奇的问题,就是string 类型占几个字节
收藏 0 赞 0 分享
查看更多