有什么意义的`NM_OPER_ON_VIEW:PChar =' OnView'`作为常量声明?

时间:2015-05-18 10:26:02

标签: delphi delphi-7

最近,我开始使用delphi 5开发的一种产品。 在查看代码时,我坚持使用constants中的一个声明,如下所示:

const
  NM_OPER_ON_VIEW: PChar = 'OnView';

这种符号对我来说很新鲜。

任何人都可以告诉我这种记谱法的重要性吗?

提前致谢。

1 个答案:

答案 0 :(得分:3)

那是typed constant。来自文档:

  

true constants不同,类型常量可以包含数组,记录,过程和指针类型的值。类型常量不能出现在常量表达式中。

     

声明一个类似的常量:

const identifier: type = value
     

其中identifier是任何有效的标识符,type是除文件和变体之外的任何类型,value是类型的表达式。例如,

const Max: Integer = 100;
     

在大多数情况下,值必须是常量表达式;但如果type是数组,记录,过程或指针类型,则适用特殊规则。

     

...

我想补充一点,与真正的常量不同,它可以取一个类型常量的地址。

真常量通常优于类型常量,因为真常量可用于常量表达式并由编译器进行评估。通常,如果可以使用真常量,则应该这样做。

如果常量是类似数组或记录的更复杂类型,则必须使用类型常量。然后缺点是编译器无法评估常量,而是在运行时评估值。