程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> C++使用兩種常量詳解

C++使用兩種常量詳解

編輯:C++入門知識

C++使用兩種常量:字面常量和符號常量。

字面常量

通過展示幾個例子進行說明

   1: int x = 5; // 5 is a literal constant
   1: unsigned int nValue = 5u; // unsigned constant
   2: long nValue2 = 5L; // long constant

默認情況下,浮點型字面常量是double類型的。把它們轉化成float值,可以通過增加f或F的後綴。

   1: float fValue = 5.0f; // float constant

通常,避免使用不是0或1的字面常量是一個很好的想法。更詳細的可以參看magic numbers一文中。

 

符號常量

可以通過#define聲明一個符號變量:

   1: #define YEN_PER_DOLLAR  122
   2: int nYen = nDollars * YEN_PER_DOLLAR;


使用#define進行聲明需要注意兩個主要問題。首先,因為它們是被預處理器處理的,將符號名用defined的值取代,#defined符號常量不會再debugger中顯示。或者,如果你僅僅看到語句 int nYen = nDollars * YEN_PER_DOLLAR;,你不得不尋找#define聲明獲取YEN_PER_DOLLAR具體使用的值。

其次,#define值通常具有全局作用域。這意味著一個片段中#defined聲明的變量名可能在另一段代碼中再次#defined聲明。

更好的方式是使用const關鍵詞來聲明符號常量。const變量必須在聲明的時候進行賦值,此後該值將不能被改變。上面的例子改編成如下方式:

   1: const int nYenPerDollar = 122;
   2: int nYen = nDollars * nYenPerDollar;

如果對const值進行改變就會出現編譯錯誤。

   1: const int nYenPerDollar = 122;
   2: nYenPerDollar = 123; // compiler error!

 
const能夠使你避免使用magic numbers,並使得你的代碼更加的易讀。有些程序員更傾向於使用大寫字符的變量名,作為const變量的名稱。const變量的用法除了不能更改外與其他變量的用法相同。




摘自  grass of moon

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved