日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

指针和Const限定符

發(fā)布時間:2025/4/16 编程问答 46 豆豆
生活随笔 收集整理的這篇文章主要介紹了 指针和Const限定符 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

指針和Const限定符

1.指向const對象的指針

  如果指針指向的是const對象,則不允許使用指針來改變其所指的const值。C++要求指向const對象的指針具有const特性

const double *cptr; //cptr是一個指向double類型const對象的指針。

? ? ? ?此處const限定了cptr指針所指向的對象類型,而非cptr本身。即cptr本身并不是const。在定義時,不需要對它進行初始化,若需要,可使cptr指向另一個const對象,但不允許使用cptr來改變所指向對象的值? ? ? ?

*cptr = 30; //error

  1)把一個const對象的地址賦給const對象的指針會導致編譯時錯誤:

const double Pi=3.14; double *ptr = Π //error const double *cptr = Π //ok

  2)不能使用void*指針保存const對象的地址,必須使用const void*類型的指針保存const對象的地址:

const int universe = 42; const void *cpv = &universe; //ok void *pv = &universe; //error

  3)允許把const對象的地址賦值給指向const對象的指針

double dval = 3; cptr = &dval;

?  雖然dval不是const對象,但任何企圖通過指針cptr修改其值的行為均會導致編譯錯誤。指向const對象的指針一經定義,就不允許修改其所指對象(const對象和非const對象)的值。若指向const對象的指針所指的對象是非const對象,可以使用其他方法更改其值:

dval = 3.1415926; *cptr = 3.1415926; //error cptr = &dval; double *ptr = &dval; *ptr = 2.72; cout << *cptr; //輸出2.72

  故:不能保證指向const對象的指針所指對象的值一定不可以修改。

?  在實際的應用中,指向const對象的指針常用作函數的形參,以確保傳遞給函數的實際對象在函數中不因形參的改變而被修改。

2.const指針

  const指針:是指該指針不可改變。

int errNumb = 0; int *const curErr = &errNumb;

  可從右向左將上述定義讀作“curErr是指向int型對象的const指針”。這意味著不能使curErr指向其他對象,任何試圖給curErr賦值的操作均會導致編譯錯誤。

curErr = curErr; //error

  與任何const量一樣,const指針必須在定義時初始化。

?

  指針本身是const的事實并沒有說明是否能使用該指針修改它所指對象的值。指針所指對象的值能否修改完全取決于該對象的類型。即該指針是const并不代表就不能修改其所指對象的值。如果const指針指向const對象,那么就可以使用該指針修改所指對象的值:

int e=9; int *const p=&e; *p=6;

這樣,e的值被修改為6。

3.指向const對象的const指針

  還有一種指向const對象的const指針

const double pi = 3.1415926; const double *const pi_ptr = &pi;

  上例中,即不能修改pi_ptr所指對象的值,也不允許修改指針的指向(即pi_ptr中存放的地址值)。可從右向左將上述定義讀作“pi_ptr首先是一個const指針,指向double類型的const對象”。

轉載于:https://www.cnblogs.com/whl2012/p/3614730.html

總結

以上是生活随笔為你收集整理的指针和Const限定符的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。