<dfn id="w48us"></dfn><ul id="w48us"></ul>
  • <ul id="w48us"></ul>
  • <del id="w48us"></del>
    <ul id="w48us"></ul>
  • C++語(yǔ)言的基本語(yǔ)法規(guī)則

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

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

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

      C++語(yǔ)法表達(dá)式規(guī)則的建立基礎(chǔ)

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

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

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

      引用:

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

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

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

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

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

      C++ 函數(shù)探幽:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    圍棋基本規(guī)則04-25

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

    主站蜘蛛池模板: 老司机亚洲精品影院| 精品国产爽爽AV| 亚欧无码精品无码有性视频 | 无码人妻精品一区二| 国产午夜精品一区理论片| 久久精品国产99国产电影网 | 国产精品v片在线观看不卡| 国产精品亚洲а∨无码播放| 国产精品污WWW一区二区三区 | 国产精品亚洲片在线va| 亚洲国产精品13p| 无码人妻精品中文字幕免费| 久久精品国产亚洲AV高清热 | 国产亚洲婷婷香蕉久久精品| 综合在线视频精品专区| 久久精品国产亚洲AV无码偷窥| 国内精品久久久久久不卡影院| 国产精品久久久久9999| 亚洲欧美日韩久久精品| 国产精品v片在线观看不卡| 午夜精品久久久内射近拍高清| 国产69精品久久久久99尤物| 香港aa三级久久三级老师2021国产三级精品三级在 | 免费精品无码AV片在线观看| 日韩蜜芽精品视频在线观看| 国内精品久久久久影院网站| 99久久亚洲综合精品成人| 精品亚洲欧美高清不卡高清| 国产成人精品手机在线观看| 国产精品毛片一区二区三区| 亚洲国产精品成人| 久久露脸国产精品| 久久精品国产亚洲av影院| 亚洲欧美精品丝袜一区二区| 日批日出水久久亚洲精品tv| 久久人搡人人玩人妻精品首页| 国产精品久久久99| 亚洲AV永久无码精品网站在线观看 | 国产精品内射婷婷一级二| 日韩精品www| 亚洲精品国产字幕久久不卡|