溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

c++中黑科技函數(shù)有哪些

發(fā)布時(shí)間:2021-08-23 10:24:23 來(lái)源:億速云 閱讀:145 作者:小新 欄目:編程語(yǔ)言

這篇文章將為大家詳細(xì)講解有關(guān)c++中黑科技函數(shù)有哪些,小編覺(jué)得挺實(shí)用的,因此分享給大家做個(gè)參考,希望大家閱讀完這篇文章后可以有所收獲。

一、黑科技函數(shù)(常用的我就不寫了,例如sort函數(shù))

1.next_permutation(a+1,a+1+n)  a[1-n]全排列

2.reverse(a+1,a+1+n)  將a[1-n]的數(shù)翻轉(zhuǎn)過(guò)來(lái)

3.*max_element(a+1,a+1+n)  找出a[1-n]數(shù)字最大值(*是因?yàn)檫@個(gè)函數(shù)是一個(gè)指針)

4.*min_element(a+1,a+1+n)  找出a[1-n]數(shù)字的最小值(*是因?yàn)檫@個(gè)函數(shù)是一個(gè)指針)

5.accumulate(a+1,a+n,0)  找出a[1-n]數(shù)字的和(0是初值)(c++11才支持)

6.num=unique(a+1,a+1+n)-a-1;  返回去重后數(shù)字個(gè)數(shù),并將a數(shù)組去重

7.rotate(a+1,a+1+x,a+1+n)  把a(bǔ)數(shù)組前x數(shù)放在第n個(gè)數(shù)后面

8.lower_bound(a+1,a+1+n,x)-a  在a數(shù)組中下標(biāo)[1-n]中找查找x的位置,返回第一個(gè)大于等于x的數(shù)字的指針-a即為下標(biāo)

9.upper_bound(a+1,a+1+n,x)-a  在a數(shù)組中下標(biāo)[1-n]中找查找x的位置,返回第一個(gè)大于x的數(shù)字的指針-a即為下標(biāo)

10.random_shuffle(a+1,a+1+n)  隨機(jī)打亂a數(shù)組中下標(biāo)[1-n]中的數(shù)(對(duì)拍神器)

11.vector a;  定義一個(gè)動(dòng)態(tài)數(shù)組a(具體如何使用我就不說(shuō)了)

12.clock()*1.0/CLOCKS_PER_SEC  返回程序運(yùn)行時(shí)間(CLOCKS_PER_SEC在Windows環(huán)境下是1000)

13.memdet(a,0/-1/0x7f,sizeof(a));  初始化a數(shù)組(只能是0,-1,正無(wú)窮)

二、黑科技宏定義

1.#define N 1000  把程序內(nèi)N全部當(dāng)成1000來(lái)用例如: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  在編譯的時(shí)候隨你的代碼進(jìn)行優(yōu)化(似乎是分等級(jí)的 O1/O2/O3)

例如:int a=0  for(int i=1;i<=n;i++)  a++;  直接變成a=n;

如何在自己電腦上開(kāi)O2呢?

點(diǎn)擊編譯器選項(xiàng)中寫入-O2

2.-W -Wall -Wextra -Wconversion   

在編譯器選項(xiàng)中加入這句話,會(huì)在你程序編譯時(shí),給你提示一些你犯的一些低級(jí)錯(cuò)誤(例如變量沒(méi)初始化)

3.-std=c++11

在編譯器選項(xiàng)中加入這句話,讓你在比賽時(shí)的c++更加強(qiáng)大?。ǜ闱宄荣愂遣皇侵С謈++)

附錄:

1.Dev-c++軟件中的編譯器選項(xiàng)打開(kāi)方式:

工具-->編譯選項(xiàng)-->第一個(gè)白框。

關(guān)于“c++中黑科技函數(shù)有哪些”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,使各位可以學(xué)到更多知識(shí),如果覺(jué)得文章不錯(cuò),請(qǐng)把它分享出去讓更多的人看到。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

c++
AI