c 核心程式設計

2021-10-07 12:21:56 字數 1032 閱讀 3385

四區:

**區:存放二進位制置零

全域性區:存放全域性變數和靜態變數以及常量

棧區:存放區域性變數以及參量,由編譯器自動釋放

堆區:由程式設計師釋放,或者作業系統收回

程式執行前:

**區:共享,可讀

全域性區

new 資料型別(記得釋放記憶體)

在堆區建立整型資料

new 返回的是該資料型別的指標

引用:給變數起別名

引用必須初始化

引用在初始化後,不可以改變(引用的本質是指標常量)

引用傳參

可以利用引用技術讓形參修飾實參

可以簡化指標修改實參

常量引用

常量引用主要來修飾形參,防止誤操作

函式預設引數

形參列表是可以有預設值的

若果某個位置引數有預設值,那麼從這個位置往後,從左向右,必須都有預設值。

如果函式宣告有預設值,那麼函式實現就不能有預設引數。

函式過載

函式名可以相同,提高復用性

函式過載滿足條件:

同乙個作用域下

函式名稱相同

函式引數型別不同,或者個數不同,或者順序不同

注意:函式返回值不可以作為函式過載條件

類和物件

三大特性:封裝,繼承,多型

封裝的意義:將屬性和行為作為乙個整體,表現生活中的事務

將屬性和行為加以許可權控制

物件的初始化和清理

編譯器提供的建構函式和析構函式是空實現

建構函式:主要作用在於建立物件時為物件的成員屬性賦值,建構函式由編譯器自動呼叫,無需手動呼叫

析構函式:主要在物件銷毀前系統自動呼叫,執行清理工作。

建構函式語法: 類名(){}

建構函式,無返回值也不寫void

函式名與類名相同

建構函式可以有引數,因此可以發生過載

程式在呼叫物件時自動呼叫構造,無需手動呼叫且只呼叫一次。

析構函式: ~類名(){}

析構函式不可以有引數,因此不可以發生過載

C 核心程式設計

1 程式的記憶體模型 記憶體四區 int func 形參也會放到棧區 intmain int func void func01 delete arr 釋放堆中的陣列的記憶體。引發異常 列印陣列的值 for int i 0 i 10 i intmain 2 c 中的引用 引用的作用就是給變數起乙個別名...

C 核心程式設計

include using namespace std int func int main 引用 給變數起別名 因此對別名的值 原名的值 修改就是對原名的值 別名的值 修改 include using namespace std int main 引用的本質 指標常量 const 注 如果某個位置已...

C 核心程式設計(1)

學習資料 於 黑馬程式設計師.主要針對c 中的物件導向程式設計技術。1 記憶體分割槽模型 記憶體大方向劃分為4個區域 區 用於存放二進位制 有作業系統進行管理 全域性區 存放全域性變數和靜態變數以及常量 棧區 由編譯器自動分配釋放,存放函式的引數值,區域性變數等 堆區 有程式設計師分配和釋放,若程式...