1. const int r=100; //標準const變量聲明加初始化,因為默認內部連接所以必須被初始化,其作用域為此文件,編譯器經過類型檢查后直接用100在編譯時替換
2.const修飾指針
第一種情況:const int *ptr=&a; ptr為指向常量的指針,其所指的值不可修改,但是其所指向的地址可以修改。
第二種情況:int * const ptr=&a;ptr為常量指針,其所指的地址不可被修改,但是其所指的值可以被修改。
第三種情況:const int * const ptr=&a,ptr為指向常量的常量指針,其所指向的地址不可修改,其所指向的值也不可修改。
3.const 用于函數參數直接看實例:
4.const 對于類
{1}對于const 修飾的類成員變量,只能在構造函數的參數初始化表里對其進行初始化,否則會引起編譯錯誤。
(2)對于const 修飾的成員函數 ,如 int Fun(int a)const,這樣聲明之后任何企圖在函數內部修改成員變量的值或者調用非const成員函數都會引起編譯錯誤。
(3)對于const聲明的用戶自定義類的對象,如果調用這個類的非const成員函數,將會引起編譯錯誤,編譯器會保證在const對象的生命期內不被改變。
如果const對象一定要調用此函數的話,那就將此函數聲明為const。實例: