首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在类型声明中,=后面的类型做什么

在类型声明中,=后面的类型做什么
EN

Stack Overflow用户
提问于 2014-06-12 21:21:37
回答 1查看 205关注 0票数 8

在mORMot的SynCommons.pas中有以下代码片段:

代码语言:javascript
复制
type
  ....
  TTimeLog = type Int64;
             ^^^^

第二个type关键字(在Int64前面)的用途是什么?

EN

回答 1

Stack Overflow用户

发布于 2014-06-12 21:33:16

来自Data Types, Variables, and Constants Index (Delphi)

当您声明一个与现有类型相同的类型时,编译器将新类型标识符视为旧类型标识符的别名。因此,给定以下声明:

类型TValue =实数;变量X:实数;Y: TValue;

X和Y是同一类型;在运行时,无法区分TValue和Real。这通常影响不大,但如果您定义新类型的目的是利用运行时类型信息,例如,将属性编辑器与特定类型的属性相关联-那么“不同名称”和“不同类型”之间的区别就变得很重要。在这种情况下,请使用以下语法:

类型newTypeName =类型KnownType

例如:

类型TValue =类型实数;

强制编译器创建一个名为TValue的新的不同类型。

对于var参数,formal和actual的类型必须相同。例如:

类型TMyType =类型整数;过程p(var t:TMyType);开始结束;过程x;变量m: TMyType;i:整数;开始p(m);//作品p(i);//错误!formal和actual的类型必须相同。结束;

票数 9
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24185525

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档