C++ 編程思想——常量

來源:互聯網
上載者:User

1、應該完全用const取代#define的值替代。
2、C++中的const預設為內部串連。  ( C預設const是外部串連的。如果在C++中想達到外部串連,必須用extern。 )
    就是說,const僅在const被定義過的檔案裡才是可見的,而在串連時不能被其它編譯單元看見。
    否則由於眾多的const在多個cpp檔案內分配儲存,容易引起串連錯誤。
3、常量指標:  const int * x;
    指標常量:  int * const x = &d;
    常量對象:  const int * const x = &d;    or    int const * const x = &d;    ( 指標和對象都不能改變 )
4、在類裡建立常量,不能用const,要用enum。
    類裡使用const的意思是“在這個對象壽命期內,這是一個常量”。然而,對這個常量來說,每個不同的對象可以含一個不同的值。(不是整個類範圍)
    enum的值是在編譯時間決定。
5、建構函式初始設定式
    它是建構函式特殊的初始化方法。初始化發生在建構函式任何代碼執行前。這裡是把所有的const初始化的地方。
    例:   class fred {
                const size;
           public:
                fred();
           }
           fred::fred():size(100){}
6、const對象和const成員函數
   const對象只能調用const成員函數。
   const成員函數不修改成員資料。但是mutable成員可被const函數修改。
   例 (const成員函數):
       class X{
           int i;
       public:
           int f()const;
       };
       
       int X::f()const{return i;}
7、volatile成員
   文法和const一樣。區別是告訴編譯器不要擅自作出有關資料的任何假定。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.