Const
const 意味著固定不變的意思。所以當變數設定為const時,此一變數的值是不允許被變更的,換句話說這個值會在初始的時候便決定。
Example
int main(int argc, char **argv)
{
const int a = 10;
a = 11; // compiler will return an error message
return 0;
}
Usage
一般使用可能會和pointer一起使用,在判讀上面會有困擾,底下列出幾個比較常出現的寫法。
- const int a;
- a 是int type而且是const
- const int *p;
- pointer p 指向一個const int value
- int const *p;
- pointer p是const
- int * const p;
- pointer p 指向一個const int value
- const int * const p
- pointer p 指向一個const int value; 而且pointer p是const
以筆者的經驗來說,case 2和case 3比較容易搞混。以case 2來說,我會解讀成const修飾int *p,而*p是代表pointer p指向的記憶體內容。而case 3,我會解讀成const修飾 p這個pointer。
一點心得,有錯歡迎指正。
沒有留言:
張貼留言