2015-05-18 47 views
0

最近我開始在delphi 5中開發一種產品的工作。 雖然經歷我被困在一個聲明中爲constants的代碼如下:'NM_OPER_ON_VIEW:PChar ='OnView'`作爲常量聲明的意義是什麼?

const 
    NM_OPER_ON_VIEW: PChar = 'OnView'; 

這種類型的表示法對我來說很新鮮。

任何人都可以告訴我這種符號的意義嗎?

在此先感謝。

+2

這是[類型常量](http://docwiki.embarcadero.com/RADStudio/XE8/en/Declared_Constants#Typed_Constants)。 – TLama

回答

3

這是一個typed constant。從文檔:

鍵入的常量,不像true constants,可以保存數組,記錄,過程和指針類型的值。類型常量不能出現在常量表達式中。

聲明類型化常數是這樣的:

const identifier: type = value 

其中標識符是任何有效的標識符,類型是任何類型的,除了文件和變體,和值是類型的表達式。例如,

const Max: Integer = 100; 

在大多數情況下,值必須是常數表達式;但如果type是數組,記錄,過程或指針類型,則應用特殊規則。

....

我想補充到這一事實,不像真正的常數,可以採取類型化常量的地址。

真常數通常比鍵入常量更可取,因爲常量表達式中可以使用常量,編譯器可以對其進行求值。一般來說,如果有可能使用一個真正的常數,那麼應該這樣做。

如果常量是一個更復雜的類型,如數組或記錄,則必須使用類型常量。然後,缺點是編譯器無法評估常量,而是在運行時評估值。

+0

感謝大衛清理我的想法關於類型常量。 –

相關問題