首先來看幾個句子:
1 const int a;
2 int const a;
3 const int *a;
4 int* const a;
5 int const * a const;
1和2的作用是一樣的 ,a是乙個整形常數。
3說明a是乙個指向整形常數的指標(雖然整形常數不可修改,但指標可以修改的)。
4的意思是a是乙個指向整形數的常指標(指標指向的整形數是可以修改的,但指標是不可修改的)。
5意味著a是乙個指向長整型的常指標(同理,兩者都不能更改)
合理的使用關鍵字const可以使編譯器很自然地保護那些不希望被改變的引數,防止其被無意的**修改,減少bug的出現!
const 的一些知識
收集了別人關於 const 的一些論述。const 的用法很多很靈活,稍不注意,就會有些莫名其妙的問題出現。甲 用於定義乙個不能被更改的變數的時候 const int i 10 i 的值不能被改變,否則報錯 void fun const int i 在函式中,i 的值不能被改變,即使他是個區域性變數...
關於const的一些事
一 const能做哪些事情呢?1 可以定義const常量 2 可以修飾函式的形參和返回值 3 可以修飾函式的定義體 意義 被const修飾的東西都要受到強制的保護,可以預防意外的變動,能提高程式的健壯性 二 const和 define有啥不同的呢?我們知道const定義的是常量,define也可以定...
有關const的一些知識點
預設情況下,const只在檔案內有效。如果確實需要在檔案間共享,可以使用extern關鍵字 不管是定義或者宣告都需要新增 const作用到引用上,則該引用不能修改被引用的值。初始化對const的引用 編譯器會將上述 變成如下形式 為了確保型別一致 我們設想如果沒有const時,若是將引用繫結到乙個臨...