今天講了對象數(shù)組惹资、指針與引用。
對象數(shù)組:數(shù)組中每一個元素對象被創(chuàng)建時航闺,系統(tǒng)都會調(diào)用類構(gòu)造函數(shù)初始化該對象褪测。
當(dāng)數(shù)組中每一個對象被生命期結(jié)束時猴誊,系統(tǒng)都要調(diào)用一次析構(gòu)函數(shù)。
指針:內(nèi)存空間的訪問方式,通過變量名訪問侮措,稱為直接訪問懈叹。通過地址訪問,稱為間接訪問分扎。
指針變量:用于存放地址的變量澄成。
地址:
“地址”中存放的數(shù)據(jù)類型與指針類型必須相符。
向指針變量賦的值必須是地址常量或變量畏吓,不能是普通整數(shù)墨状。但可以賦值為整數(shù)0,表示空指針菲饼。
指針的類型是它所指向變量的類型肾砂,而不是指針本身數(shù)據(jù)值的類型,任何一個指針本身的數(shù)據(jù)值都是unsigned long 型宏悦。
允許聲明指向 void 類型的指針镐确。該指針可以被賦予任何類型對象的地址。
動態(tài)內(nèi)存分配:
使用new和delete進行動態(tài)內(nèi)存分配和釋放肛根。
運算符new和delete是C++新增的運算符辫塌,提供了存儲的動態(tài)分配和釋放功能。
指針變量的算數(shù)運算:指針與整數(shù)的加減運算派哲,指針加一臼氨,減一運算。
指向數(shù)組元素的指針:通過指針引用數(shù)組元素經(jīng)過上述聲明及賦值后:
*pa就是a[0]芭届,*(pa+1)就是a[1]储矩,... ,*(pa+i)就是a[i]褂乍。a[i], *(pa+i), *(a+i), pa[i]都是等效的持隧。不能寫 a++,因為a是數(shù)組首地址是常量
指向類類型對象的指針聲明形式:類名*對象指針名逃片;通過指針訪問對象成員屡拨,對象指針名->成員名。? ?
動態(tài)內(nèi)存分配:使用new和delete進行動態(tài)內(nèi)存分配和釋放
運算符new和delete是C++新增的運算符褥实,提供了存儲的動態(tài)分配和釋放功能呀狼。
指向?qū)ο蟮闹羔様?shù)組:指針常量和常量指針
指針常量:
在指針定義語句的指針名前加const, 表示指針本身是常量。指針值p不可以修改损离,指針指向的內(nèi)容可以修改哥艇。即p是常量,不可以作為左值進行運算僻澎,*p可以修改貌踏。
常量指針:
在指針的定義類型前加const十饥,表示指向的對象是常量。
常對象和常成員函數(shù):常對象:數(shù)據(jù)成員值在對象的整個生存期間內(nèi)不能被改變祖乳。
即常對象定義是必須進行初始化逗堵,而且不能被更改。
內(nèi)容比較多凡资,比較混亂砸捏,梳理一下。