<pre id="bbfd9"><del id="bbfd9"><dfn id="bbfd9"></dfn></del></pre>

          <ruby id="bbfd9"></ruby><p id="bbfd9"><mark id="bbfd9"></mark></p>

          <p id="bbfd9"></p>

          <p id="bbfd9"><cite id="bbfd9"></cite></p>

            <th id="bbfd9"><form id="bbfd9"><dl id="bbfd9"></dl></form></th>

            <p id="bbfd9"><cite id="bbfd9"></cite></p><p id="bbfd9"></p>
            <p id="bbfd9"><cite id="bbfd9"><progress id="bbfd9"></progress></cite></p>

            c++程序語言特點

            時間:2024-09-28 12:12:17 計算機等級 我要投稿
            • 相關推薦

            c++程序語言特點

              C語言是1972年由美國貝爾實驗室的D.M.Ritchie研制成功的。它不是為初學者設計的,而是為計算機專業人員設計的。下面是小編搜集的c++程序語言特點,希望大家認真閱讀!

              1. C++內存可分為以下區域:

              全局/靜態數據區

              常量數據區(其中的數據不能被修改)

              代碼區

              堆

              棧

              備注:全局/靜態區,常量數據區實際上都在進程的數據區中。

              2.堆和棧上分配內存的性能比較:

              (1) 棧上的內存是系統自動分配的,不需要用戶主動分配和釋放;

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

              (3) 棧上分配的內存,是連續的,不會導致內存碎片。

              3. 虛函數表指針

              虛函數表的指針,占據類對象內存最開始的4個字節。

              (1)存放位置:

              類對象開始的4個字節存放的是虛函數表的指針,而虛函數表本身放在常量區。

              (2)創建時機:

              在對象創建時,構造函數中會調用編譯器在構造函數內部插入的初始化代碼,來初始化虛函數指針,使其指向正確的虛函數表。

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

              4. this指針

              類的非靜態成員函數,都會默認的傳this指針作為參數,以便在函數內部可以通過this指針訪問相應的類對象。

              在進入函數體前創建并傳參,在函數返回時銷毀。

              5. 類對象的創建過程

              首先,申請該對象對應的內存;

              其次,對類對象進行初始化,即調用類的構造函數。包括兩個步驟:執行初始化列表;執行構造函數體。

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

              6. 內聯函數的聲明

              內聯函數聲明有兩種方式,通常我們只知道第一種:

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

              (2)隱式聲明:在類內聲明成員函數時,同時提供其函數體實現,這時候函數會被定義成內聯函數,不需要“inline”關鍵字聲明。

              例如:

              Class Student

              {

              public:

              String GetName() { return name; }

              }

              內聯函數的優點:

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

              (2) 由于編譯時函數代碼是完全展開的,編譯器可以對調用函數處的代碼做更深入的優化。

              缺點:多處調用,且代碼量較大的時候,會因為展開過多重復代碼導致目標程序變大。

            【c++程序語言特點】相關文章:

            概述C++語言特點08-19

            播音主持的語言特點07-20

            演講語言特點有哪些07-28

            播音主持的語言特點及要求06-15

            播音主持的語言特點及語言風格06-30

            C++語言的基本符號08-01

            精選C++面試題及答案05-23

            2017年計算機二級C++語言程序設計考試內容08-11

            C++語法規則積累10-13

            商務英語四大語言特點08-07

                    <pre id="bbfd9"><del id="bbfd9"><dfn id="bbfd9"></dfn></del></pre>

                    <ruby id="bbfd9"></ruby><p id="bbfd9"><mark id="bbfd9"></mark></p>

                    <p id="bbfd9"></p>

                    <p id="bbfd9"><cite id="bbfd9"></cite></p>

                      <th id="bbfd9"><form id="bbfd9"><dl id="bbfd9"></dl></form></th>

                      <p id="bbfd9"><cite id="bbfd9"></cite></p><p id="bbfd9"></p>
                      <p id="bbfd9"><cite id="bbfd9"><progress id="bbfd9"></progress></cite></p>
                      飘沙影院