最近我開始在delphi 5
中開發一種產品的工作。 雖然經歷我被困在一個聲明中爲constants
的代碼如下:'NM_OPER_ON_VIEW:PChar ='OnView'`作爲常量聲明的意義是什麼?
const
NM_OPER_ON_VIEW: PChar = 'OnView';
這種類型的表示法對我來說很新鮮。
任何人都可以告訴我這種符號的意義嗎?
在此先感謝。
最近我開始在delphi 5
中開發一種產品的工作。 雖然經歷我被困在一個聲明中爲constants
的代碼如下:'NM_OPER_ON_VIEW:PChar ='OnView'`作爲常量聲明的意義是什麼?
const
NM_OPER_ON_VIEW: PChar = 'OnView';
這種類型的表示法對我來說很新鮮。
任何人都可以告訴我這種符號的意義嗎?
在此先感謝。
這是一個typed constant。從文檔:
鍵入的常量,不像true constants,可以保存數組,記錄,過程和指針類型的值。類型常量不能出現在常量表達式中。
聲明類型化常數是這樣的:
const identifier: type = value
其中標識符是任何有效的標識符,類型是任何類型的,除了文件和變體,和值是類型的表達式。例如,
const Max: Integer = 100;
在大多數情況下,值必須是常數表達式;但如果type是數組,記錄,過程或指針類型,則應用特殊規則。
....
我想補充到這一事實,不像真正的常數,可以採取類型化常量的地址。
真常數通常比鍵入常量更可取,因爲常量表達式中可以使用常量,編譯器可以對其進行求值。一般來說,如果有可能使用一個真正的常數,那麼應該這樣做。
如果常量是一個更復雜的類型,如數組或記錄,則必須使用類型常量。然後,缺點是編譯器無法評估常量,而是在運行時評估值。
感謝大衛清理我的想法關於類型常量。 –
這是[類型常量](http://docwiki.embarcadero.com/RADStudio/XE8/en/Declared_Constants#Typed_Constants)。 – TLama