C++基礎(二)

1.const關鍵字

   用const定義常量,一旦定義後不能修改,所以定義時必須初始化。

   const對象默認爲文件的局部變量,不能被其他文件訪問。如果其他文件需要訪問,則要用extern定義:extern const int g_iNumber

 

2.引用

   引用是一種複合類型,通過在變量名前加&符號來定義。

   引用是它引用的對象的別名。

   必須在定義的時候就初始化,且不能將引用綁定到另一個對象。

   const引用,是指向const對象的引用。const引用頁可以指向非const對象,但非const引用不能執行const對象。

   const引用可以初始化爲不同類型的對象,比如

   double dval = 3.14;   

   const int &r = dval;

   編譯器會把這些代碼轉換爲

   int temp = dval;

   const int &r = temp;

 

3.typedef關鍵字

   typedef double wages;

   wages hourly, weekly; //double hourly, weekly;

   typedef通常有三個目的:

   爲了隱藏特定類型的實現,強調使用類型的目的

   簡化複雜的類型定義,使其更易理解

   允許一種類型用於多個目的,同時使得每次使用該類型的目的明確

 

4.枚舉

   enum關鍵字定義枚舉類型。

   enum open_modes { input, output, append };

   默認情況第一個成員賦值0,依次遞增

 

   也可以定義枚舉類型時指定值,enum open_modes {input = 1, output = 3; append = 3 }; // 枚舉成員值可以是不唯一的

   * 不能改變枚舉成員的值,枚舉成員本身是一個常量表達式。

 

5.class and struct

   類類型和結構體類型只有一個區別:struct默認成員是public的,而class是private的。

 

6.設計自己的頭文件

   頭文件爲相關聲明提供了一個集中存放的位置。頭文件一般包含類的定義、extern變量的聲明和函數的聲明

   頭文件用於聲明而不是用於定義。但有三個例外:頭文件可以定義類,值在編譯時就已知的const對象和inline函數

   如果const變量不是用常量表達式初始化,那麼它不應該在頭文件定義,而應該在源文件中定義。若需要被其他文件共享,則用extern聲明定義

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章