const關鍵字核心相關知識及decltype類型指示符

1,如果利用一個變量去初始化另一個變量,它們是不是const都無關緊要

2,默認狀態下,const對象僅在文件內有效,如果想在多個文件之間共享const對象必須在變量的定義之前添加extern關鍵字,例如:

       // file.cpp

          extern const int  ibufSize = 3;//定義並初始化了一個常量,該常量能被其他文件訪問

      // file.h

          extern const int  ibufSize;//與file.cpp 中定義的bufSize是同一個

3,const 限定對象等的值得不可修改性

4,const對象不可賦值給一個非常量對象

5,對const的引用可能引用一個並非const的對象

6,指向常量的指針不能用於改變其指對象的值,要想存放常量對象的地址只能使用指向常量的指針,允許令一個指向常量的指針指向一個非常量對象

7,常量指針必須初始化,而且一旦初始化完成,則它的值(也就是存放在指針中的那個地址)無法再改變

decltype 類型指示符(C++ 11新特性):

     decltype 類型指示符:選擇並返回操作數的數據類型,在此過程中,編譯器分析表達式並得到它的類型,卻不實際計算表達式的值:

     decltype (fu()) sum=x;  //sum 的類型就是函數f的返回類型

     decltype返回該變量的類型

     decltype針對於加括號的變量基本類型會視爲表達式,得到的是引用,必須初始化


發佈了36 篇原創文章 · 獲贊 26 · 訪問量 9萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章