小人物學(xué)個(gè)大習(xí)(61-70)
C++ primer
對(duì)指針的引用
int I =42;
int *p ;
int *&r =p;
r = &i;
實(shí)際上是令p指向了I使用const限定符可以限制變量,讓其值不再改變
如果想在多個(gè)文件之間共享const 對(duì)象,必須在變量的定義之前添加extern關(guān)鍵字,并在使用的文件中進(jìn)行相應(yīng)聲明
C++程序員經(jīng)常把,對(duì)const的引用,簡(jiǎn)稱為常量引用
常量引用初始化時(shí),允許使用任意表達(dá)式作為初始值,只要改表達(dá)式能夠轉(zhuǎn)換成引用類型即可。
int I =42;
const int &r1 =i;
但是這里就不能夠通過(guò)r1來(lái)更改i的值了。指向常量的指針,const double *ptr
要想 存放常量對(duì)象的地址,只能使用指向常量的指針,但是對(duì)于指向常量的指針而言,并沒(méi)有規(guī)定所指對(duì)象必須是一個(gè)常量,即只是不能夠通過(guò)該指針來(lái)更改所指對(duì)象的值const指針,指針本身就是常量,且常量指針必須初始化,初始化一旦完成,該地址就不能改變
int *const ptr = &errNumb;頂層const,表示變量本身是個(gè)常量,底層const,表示所指或者引用對(duì)象是個(gè)const,聲明引用的const都是底層const。
執(zhí)行拷貝操作時(shí),
1.頂層const不受什么影響
2.拷入和拷出的對(duì)象必須具有相同的底層const資格,或者兩個(gè)對(duì)象的數(shù)據(jù)類型必須能夠轉(zhuǎn)換,一般來(lái)說(shuō),非常量可以轉(zhuǎn)換成常量,反之則不行常量表達(dá)式,是指不會(huì)改變并且在編譯過(guò)程就能得到計(jì)算結(jié)果的表達(dá)式。
怎么說(shuō)呢,還是要鍛煉自己。
2023年7月04日