四區:
**區:存放二進位制置零
全域性區:存放全域性變數和靜態變數以及常量
棧區:存放區域性變數以及參量,由編譯器自動釋放
堆區:由程式設計師釋放,或者作業系統收回
程式執行前:
**區:共享,可讀
全域性區
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個區域 區 用於存放二進位制 有作業系統進行管理 全域性區 存放全域性變數和靜態變數以及常量 棧區 由編譯器自動分配釋放,存放函式的引數值,區域性變數等 堆區 有程式設計師分配和釋放,若程式...