最近,我开始使用delphi 5
开发的一种产品。
在查看代码时,我坚持使用constants
中的一个声明,如下所示:
const
NM_OPER_ON_VIEW: PChar = 'OnView';
这种符号对我来说很新鲜。
任何人都可以告诉我这种记谱法的重要性吗?
提前致谢。
答案 0 :(得分:3)
那是typed constant。来自文档:
与true constants不同,类型常量可以包含数组,记录,过程和指针类型的值。类型常量不能出现在常量表达式中。
声明一个类似的常量:
const identifier: type = value
其中identifier是任何有效的标识符,type是除文件和变体之外的任何类型,value是类型的表达式。例如,
const Max: Integer = 100;
在大多数情况下,值必须是常量表达式;但如果type是数组,记录,过程或指针类型,则适用特殊规则。
...
我想补充一点,与真正的常量不同,它可以取一个类型常量的地址。
真常量通常优于类型常量,因为真常量可用于常量表达式并由编译器进行评估。通常,如果可以使用真常量,则应该这样做。
如果常量是类似数组或记录的更复杂类型,则必须使用类型常量。然后缺点是编译器无法评估常量,而是在运行时评估值。