常數及同址別名

前頁 目錄 下頁

常數 同址別名

常數 Top

一個宣告常數的語句和宣告及初始化變量的語句相似,分別只是在宣告常數的語句中,最前方加上了保留字 const。例如︰

C++ 語句 等同的 Pascal 語句
const float x = 3.7; const x = 3.7;
const int a = 4, b = 7; const
  a = 4;
  b = 7;

必須留意貯存在常數內的值不能被更改。


同址別名 Top

同址別名是一個在程序中使用的名字(通常較有意思、較易記或較易鍵入),程序在被編譯前,同址別名會被先譯成另一個名字(通常比較沒意思、較難記或較難鍵入)。

我們可以使用 #define 這個前置處理器指令來定義同址別名。例如,以下的語句定義了一個叫做 MAX 的同址別名,它和 100 完全一樣︰
    #define MAX 100

在編譯的過程中,程序中的所有 MAX 會被 100 所取代︰

#include <iostream.h>
#define MAX 100
  ...
int a[
MAX];
  ...

for (i = 0; i <
MAX; i++)
  ...
if (n >=
MAX * 2)
  ...
……會被譯成…… #include <iostream.h>

  ...
int a[
100];
  ...

for (i = 0; i <
100; i++)
  ...
if (n >=
100 * 2)
  ...

正如以上例子所示, #define 這個前置處理器指令可以用來定義常數。使用 const#define 的分別在於︰ const 指示程序在存貯器中拿取一些位置來存貯被定義的常數,而 #define 所定義的「常數」並沒有存在存貯器中,這些同址別名在編譯的過程中譯成原來的名稱。

事實上,使用 C++ 的程序編寫員較喜歡使用 #define 去定義常數。

程序二十四使用了 #define 去定義常數。

前頁 目錄 下頁