激情欧美日韩一区二区,浪货撅高贱屁股求主人调教视频,精品无码成人片一区二区98,国产高清av在线播放,色翁荡息又大又硬又粗视频

C++語(yǔ)言的基本語(yǔ)法規則

時(shí)間:2024-08-12 17:23:11 計算機等級 我要投稿
  • 相關(guān)推薦

C++語(yǔ)言的基本語(yǔ)法規則

  C++是由AT&T Bell(貝爾)實(shí)驗室的Bjarne Stroustrup博士及其同事于20世紀80年代初在C語(yǔ)言的基礎上開(kāi)發(fā)成功的。下面是小編收集的C++語(yǔ)言的基本語(yǔ)法規則,希望大家認真閱讀!

  C++語(yǔ)法表達式規則的建立基礎

  C++ 中的布爾類(lèi)型:布爾類(lèi)型只占用一個(gè)bit ,但是如果連續定義多個(gè)布爾類(lèi)型時(shí),編譯器可能會(huì )多個(gè)布爾類(lèi)型定義在一起。true 編譯器用1來(lái)表示。false 編譯器用0來(lái)表示。

  將一個(gè)其他類(lèi)型的數據賦給布爾類(lèi)型變量:C++編譯器會(huì )將所有的非0的值轉換為true(1),將0 轉化為false(0)。

  三木運算符 ? : :將一個(gè)三目運算符作為左值: (a>b?a:b) = 3 C語(yǔ)言不支持(三目運算符返回一個(gè)值),但在C++中支持(三目元算符返回變量)。 但是如果可能的返回值有一個(gè)是常量值,那么它就不能作為左值使用,如(a>b?1:b) = 3 非法。

  引用:

  C++中的引用:一個(gè)已經(jīng)定義的變量的別名。 Type var , Type & name = var; 普通引用在聲明時(shí)必須用其他的變量進(jìn)行初始化。引用作為函數參數聲明時(shí)不進(jìn)行初始化。

  const 修飾引用:const 使引用擁有只讀屬性,但是變量本身還是原來(lái)的屬性。

  當使用常量對const 引用進(jìn)行初始化時(shí),編譯器會(huì )給常量分配空間,并將引用名命名為這段空間的別名。不能給普通引用賦值為常量,但是可以給常引用賦值為常量。此時(shí)常引用是只讀的,除了在定義時(shí),不能給它賦值。因此用一個(gè)常引用可以構成一個(gè)只讀的變量,如 const int & a = 10 a是一個(gè)只讀變量。

  引用在C++ 的內部實(shí)現是一個(gè)常指針:type & name ßàtype* const name。因此引用擁有一個(gè)4字節的空間。

  引用作為函數返回值:返回局部變量的引用時(shí),引用不能作為左值,也不能用它初始化其他引用,但是如果引用時(shí)靜態(tài)的或者全局變量的引用時(shí)就可以。

  C++ 函數探幽:

  內聯(lián)函數:inline int function(…), 內聯(lián)函數可以替代宏代碼片段,在編譯時(shí)將函數體直接替代函數被調用的地方,這樣就減少了普通函數被調用時(shí) 的開(kāi)銷(xiāo)(壓棧,跳轉等),但是內聯(lián)函數本質(zhì)上還是一個(gè)函數,不同于宏代碼片段。內聯(lián)函數聲明符inline 必須要和函數定義結合在一起,不能放在聲明處,否則編譯器忽略?xún)嚷?lián)請求。 雖然內聯(lián)函數省時(shí)省空間,但是編譯器不一定準許函數的內聯(lián)請求,當C++編譯器不允許內聯(lián)請求時(shí)會(huì )將內聯(lián)函數當做普通函數處理。

  默認參數: C++中可以在函數聲明時(shí)為參數提供一個(gè)默認值,當函數調用時(shí)沒(méi)有提供這個(gè)參數的值,編譯器會(huì )自動(dòng)用默認值代替。但是在函數定義時(shí)就不在指定默認參數值。默認參數有如下規則:

  只有參數列表后面的部分參數才可以提供默認參數值,一但在一個(gè)函數調用中開(kāi)始使用默認參數,那么這個(gè)參數后的所有參數都必須使用默認參數,因此從開(kāi)始使用默認參數的使用開(kāi)始都后面的參數都要提供默認參數,否則編譯器將報錯?傊,在函數聲明時(shí),如果一個(gè)參數開(kāi)始提供默認參數,那么后面的所有參數都要提供默認參數;在調用函數時(shí),如果開(kāi)始省略參數,那么后面所有參數都使用默認參數。

  函數占位參數:占位參數是在函數定義時(shí)只有類(lèi)型聲明,沒(méi)有參數名聲明的參數。一般情況下函數體內部無(wú)法使用占位參數。但是在調用時(shí)必須提供完整的參數個(gè)數?梢越o占位參數提供默認參數。意義:為函數的后續版本的擴展埋下伏筆;兼容C語(yǔ)言中的不規范寫(xiě)法。

  函數重載:簡(jiǎn)單來(lái)說(shuō)函數重載就是用同一個(gè)函數名來(lái)定義不同的函數。那編譯器是如何區分這些函數的呢?事實(shí)上,編譯器是通過(guò)參數列表來(lái)區分重載了的函數。即重載函數擁有不同的參數列表。不同的參數列表包括參數個(gè)數不同、參數類(lèi)型不同、參數順序不同,即滿(mǎn)足上述三個(gè)條件之一就能構成重載函數。函數重載在構造函數中是非常有用的。

【C++語(yǔ)言的基本語(yǔ)法規則】相關(guān)文章:

C++語(yǔ)法規則積累10-13

C++語(yǔ)言的基本符號08-01

css的基本語(yǔ)法07-16

PETS基本語(yǔ)法解析08-12

PHP的基本語(yǔ)法的介紹10-07

俄語(yǔ)語(yǔ)法基本框架09-27

日語(yǔ)基本語(yǔ)法句型06-20

網(wǎng)球的基本規則09-12

圍棋基本規則04-25

網(wǎng)球基本規則09-24

激情欧美日韩一区二区,浪货撅高贱屁股求主人调教视频,精品无码成人片一区二区98,国产高清av在线播放,色翁荡息又大又硬又粗视频