您好,登錄后才能下訂單哦!
小編給大家分享一下常用的C++小技巧有哪些,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
編碼中依舊有程序員依舊使用<iostream.h>
而不是<iostream>
庫(kù)。實(shí)際上,這兩個(gè)庫(kù)是有區(qū)別的:
首先針對(duì)用.h作為標(biāo)準(zhǔn)頭文件已經(jīng)明確不推薦使用。
其次,在功能方面,<iostream>
包括IO類,且同時(shí)支持窄字符和寬字符;而<iostream.h>
卻只支持以char為導(dǎo)向的流。
再次,在C++的iostream
接口標(biāo)準(zhǔn)進(jìn)行了調(diào)整。 <iostream>
的接口與實(shí)現(xiàn)與<iostream.h>
存在差異。
最后, <iostream>
組件聲明于std命名空間中,而<iostream.h>
組件是全局性的。兩者混合使用存在一定的風(fēng)險(xiǎn)。需要謹(jǐn)慎。
逗號(hào)表達(dá)式可能包含一個(gè)或多個(gè)用逗號(hào)分隔的子表達(dá)式,例如:
if(++x, --y, cin.good())
上面的if表達(dá)式中,每個(gè)語(yǔ)句都會(huì)被執(zhí)行到,但是整個(gè)if的條件實(shí)際上是以第三個(gè)表達(dá)式值為if的條件值。cin.good()
默認(rèn)值為1,只有當(dāng)輸入值和定義變量類型不一致的時(shí)候變?yōu)?。
在循環(huán)語(yǔ)句中情況也是一樣。如:
while( ++i, --j) { ; }
整個(gè)while循環(huán)只有當(dāng)j=0的時(shí)候才會(huì)停止。
通暢全局對(duì)象是在程序開(kāi)始之前之構(gòu)造的,這個(gè)函數(shù)也會(huì)在main()開(kāi)始之前返回。
如:
class Logger { public: Logger() { activate_log(); } void activate_log() { cout<<"hello"<<endl; } }; Logger log; int main() { record * prec=read_log(); }
這個(gè)函數(shù)在main之前就被執(zhí)行并進(jìn)行了返回。
以上是“常用的C++小技巧有哪些”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道!
免責(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)容。