指向物件的常指標變數與指向常物件的指標變數區別

2021-07-26 02:20:15 字數 916 閱讀 2390

time * const p; //指向物件的常指標變數  p

的值(p的指向)不能修改

const time *p;  //指向常物件的指標變數,p

指向的類物件的值不能通過p來修改

將指標變數宣告為const型,這樣指標變數始終保持初值,不能改變,即其所指向不變。

timet1(10,12,15),t2;

time *const ptr1; //const

位置在指標變數名前面,指定ptr1是常指標變數

ptr1 =&t1; //ptr1

指向物件t1,此後不能再改變指向

ptr1 =&t2; //

錯誤,ptr1不能改變指向

注意:指向物件的常指標變數的值不能改變,即始終指向同乙個物件,但可以改變其所指向物件(如t1)的值。

什麼時候需要用指向物件的常指標呢?如果想將乙個指標變數固定位址與乙個物件相聯絡(即該指標變數始終指向乙個物件),可以將它指定為const型指標變數。這樣可以防止誤操作,增加安全性。

往往用常指標作為函式的形參,目的是不允許在函式執行過程中改變指標變數的值,使其始終指向原來的物件。

指向常物件的指標最常用於函式的形參,目的是在保護形參指標所指向的物件,使它在執行過程中不被修改。

int main()

void fun(const time *);//函式宣告,形參是指向常物件的指標變數

time t1(10,13,56);

fun(&t1);              //實參是物件t1的位址

return 0;

void fun(const time *p)  //定義fun函式

p->hour = 18;//錯誤

cout

指向變數的常指標與指向常變數的指標變數的區別

一 指向變數的常指標 形式 型別名 const 指標變數名 將指標變數宣告為const型,這樣指標變數始終保持為初值,不能改變,即其指向不能改變 例 include include int main 常指標pcpt已經指向了cbuff1,就不能再指向cbuff2了。注意 雖然常指標只能始終指向同乙個...

指向變數的常指標和指向常變數的指標

剛接觸到指標時,關於指向變數的常指標和指向常變數的指標容易混淆,所以整理下,希望能夠幫助自己也幫助到大家。常指標就是我們說的指向常量的指標,顧名思義,它是用來指向常量的。實際上,c 規定只能用指向常變數的指標指向常變數,普通指標指向它就會報錯,原因也很容易理解,我們用普通指標指向常變數之後,有可能就...

C 中指向物件的常指標和指向常物件的指標

將指向物件的指標變數宣告為const型,並使之初始化,這樣指標值始終保持為其初始值,不能改變。time t1 10,12,15 t2 time const ptr1 t1 ptr1 t2 定義指向物件的常指標的一般形式為 類名 const 指標變數 物件位址 注意應該在定義指標變數時使之初始化 指向...