亚洲AV日韩AⅤ综合手机在线观看,激情婷婷久久综合色,欧美色五月婷婷久久,久久国产精品99久久人人澡

  • <abbr id="uk6uq"><abbr id="uk6uq"></abbr></abbr>
  • <tbody id="uk6uq"></tbody>
  • c++程序語言特點(diǎn)

    時(shí)間:2020-08-17 11:27:26 計(jì)算機(jī)等級(jí) 我要投稿

    c++程序語言特點(diǎn)

      C語言是1972年由美國貝爾實(shí)驗(yàn)室的D.M.Ritchie研制成功的。它不是為初學(xué)者設(shè)計(jì)的,而是為計(jì)算機(jī)專業(yè)人員設(shè)計(jì)的。下面是小編搜集的c++程序語言特點(diǎn),希望大家認(rèn)真閱讀!

      1. C++內(nèi)存可分為以下區(qū)域:

      全局/靜態(tài)數(shù)據(jù)區(qū)

      常量數(shù)據(jù)區(qū)(其中的數(shù)據(jù)不能被修改)

      代碼區(qū)

      堆

      棧

      備注:全局/靜態(tài)區(qū),常量數(shù)據(jù)區(qū)實(shí)際上都在進(jìn)程的數(shù)據(jù)區(qū)中。

      2.堆和棧上分配內(nèi)存的'性能比較:

      (1) 棧上的內(nèi)存是系統(tǒng)自動(dòng)分配的,不需要用戶主動(dòng)分配和釋放;

      (2) 棧上分配的內(nèi)存效率比較高(不需要經(jīng)過堆管理器分配,一系列查找空閑堆的邏輯);

      (3) 棧上分配的內(nèi)存,是連續(xù)的,不會(huì)導(dǎo)致內(nèi)存碎片。

      3. 虛函數(shù)表指針

      虛函數(shù)表的指針,占據(jù)類對(duì)象內(nèi)存最開始的4個(gè)字節(jié)。

      (1)存放位置:

      類對(duì)象開始的4個(gè)字節(jié)存放的是虛函數(shù)表的指針,而虛函數(shù)表本身放在常量區(qū)。

      (2)創(chuàng)建時(shí)機(jī):

      在對(duì)象創(chuàng)建時(shí),構(gòu)造函數(shù)中會(huì)調(diào)用編譯器在構(gòu)造函數(shù)內(nèi)部插入的初始化代碼,來初始化虛函數(shù)指針,使其指向正確的虛函數(shù)表。

      (這就解釋了為什么構(gòu)造函數(shù)不能是虛函數(shù)的問題)

      4. this指針

      類的非靜態(tài)成員函數(shù),都會(huì)默認(rèn)的傳this指針作為參數(shù),以便在函數(shù)內(nèi)部可以通過this指針訪問相應(yīng)的類對(duì)象。

      在進(jìn)入函數(shù)體前創(chuàng)建并傳參,在函數(shù)返回時(shí)銷毀。

      5. 類對(duì)象的創(chuàng)建過程

      首先,申請(qǐng)?jiān)搶?duì)象對(duì)應(yīng)的內(nèi)存;

      其次,對(duì)類對(duì)象進(jìn)行初始化,即調(diào)用類的構(gòu)造函數(shù)。包括兩個(gè)步驟:執(zhí)行初始化列表;執(zhí)行構(gòu)造函數(shù)體。

      注意:常量和引用類型的變量,必須在初始化列表中進(jìn)行初始化。

      6. 內(nèi)聯(lián)函數(shù)的聲明

      內(nèi)聯(lián)函數(shù)聲明有兩種方式,通常我們只知道第一種:

      (1)顯式聲明:用“inline”關(guān)鍵字聲明;

      (2)隱式聲明:在類內(nèi)聲明成員函數(shù)時(shí),同時(shí)提供其函數(shù)體實(shí)現(xiàn),這時(shí)候函數(shù)會(huì)被定義成內(nèi)聯(lián)函數(shù),不需要“inline”關(guān)鍵字聲明。

      例如:

      Class Student

      {

      public:

      String GetName() { return name; }

      }

      內(nèi)聯(lián)函數(shù)的優(yōu)點(diǎn):

      (1) 避免一般函數(shù)調(diào)用的參數(shù)壓棧,棧幀開辟與回收,寄存器保存與恢復(fù)等開銷;

      (2) 由于編譯時(shí)函數(shù)代碼是完全展開的,編譯器可以對(duì)調(diào)用函數(shù)處的代碼做更深入的優(yōu)化。

      缺點(diǎn):多處調(diào)用,且代碼量較大的時(shí)候,會(huì)因?yàn)檎归_過多重復(fù)代碼導(dǎo)致目標(biāo)程序變大。

    【c++程序語言特點(diǎn)】相關(guān)文章:

    概述C++語言特點(diǎn)06-14

    C++程序的基本框架06-14

    全國計(jì)算機(jī)二級(jí)C++語言程序設(shè)計(jì)考試大綱06-14

    商務(wù)英語的語言特點(diǎn)09-28

    現(xiàn)代舞有哪些語言特點(diǎn)09-20

    2017年全國計(jì)算機(jī)二級(jí)C++語言程序設(shè)計(jì)考試試題08-20

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

    C++/Cli語言語法08-20

    C++語法規(guī)則積累06-14