C++學習筆記一 —— 3.5 const限定修飾符

<1>.const類型限定修飾符把一個對象轉換成一個常量(constant).例如const int bufsize= 512.
<2>.因爲常量在定義後就不能被修改,所以它必須被初始化。未初始化的常量定義將導致編譯錯誤。const double pi; // 錯誤:未初始化常量
<3>.一旦一個常量被定義了,我們就不能改變與const對象相關聯的值。
<4>."試圖將一個非const對象的指針指向一個常量對象"的動作都將引起編譯錯誤。我們必須聲明一個指向常量的指針來做這件事。例如const double *cptr."cptr"是一個指向const對象的指針"。其中微妙在於cptr本身不是常量。我們可以重新賦值cptr,使其指向不同的對象,但不能修改cptr指向的對象。const對象的地址只能賦值給指向const對象的指針,但是指向const對象的指針可以被賦以一個非const對象的地址。
<5>.int *const curerr,"curerr是指向非const對象的const指針",不能給curerr其他的地址值,但可以修改curerr指向的值,並且它只能指向非const對象。
<6>.const double *const pi,pi指向的對象的值以及它的地址本身都不能被改變,pi是指向const對象的const指針。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章