一级日韩免费大片,亚洲一区二区三区高清,性欧美乱妇高清come,久久婷婷国产麻豆91天堂,亚洲av无码a片在线观看

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

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

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

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

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

  全局/靜態(tài)數據區

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

  代碼區

  堆

  棧

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

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

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

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

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

  3. 虛函數表指針

  虛函數表的指針,占據類(lèi)對象內存最開(kāi)始的4個(gè)字節。

  (1)存放位置:

  類(lèi)對象開(kāi)始的4個(gè)字節存放的是虛函數表的指針,而虛函數表本身放在常量區。

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

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

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

  4. this指針

  類(lèi)的非靜態(tài)成員函數,都會(huì )默認的傳this指針作為參數,以便在函數內部可以通過(guò)this指針訪(fǎng)問(wèn)相應的類(lèi)對象。

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

  5. 類(lèi)對象的創(chuàng )建過(guò)程

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

  其次,對類(lèi)對象進(jìn)行初始化,即調用類(lèi)的構造函數。包括兩個(gè)步驟:執行初始化列表;執行構造函數體。

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

  6. 內聯(lián)函數的聲明

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

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

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

  例如:

  Class Student

  {

  public:

  String GetName() { return name; }

  }

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

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

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

  缺點(diǎn):多處調用,且代碼量較大的時(shí)候,會(huì )因為展開(kāi)過(guò)多重復代碼導致目標程序變大。

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

概述C++語(yǔ)言特點(diǎn)08-19

播音主持的語(yǔ)言特點(diǎn)07-20

演講語(yǔ)言特點(diǎn)有哪些07-28

播音主持的語(yǔ)言特點(diǎn)及要求06-15

播音主持的語(yǔ)言特點(diǎn)及語(yǔ)言風(fēng)格06-30

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

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

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

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

商務(wù)英語(yǔ)四大語(yǔ)言特點(diǎn)08-07

一级日韩免费大片,亚洲一区二区三区高清,性欧美乱妇高清come,久久婷婷国产麻豆91天堂,亚洲av无码a片在线观看