溫馨提示×

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

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

常用的C++小技巧有哪些

發(fā)布時(shí)間:2021-12-24 11:34:16 來(lái)源:億速云 閱讀:108 作者:小新 欄目:開(kāi)發(fā)技術(shù)

小編給大家分享一下常用的C++小技巧有哪些,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

1、頭文件是引用<iostream.h>還是<iostream>?

編碼中依舊有程序員依舊使用<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)慎。

2、逗號(hào)分割表達(dá)式

逗號(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ì)停止。

3、在main函數(shù)之前運(yùn)行代碼

通暢全局對(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è)資訊頻道!

向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