加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

通过访问Delphi记录字段.或^

发布时间:2020-12-15 04:23:03 所属栏目:大数据 来源:网络整理
导读:我在Delphi语言中遇到过一些我之前没有注意到的东西.考虑一个简单的记录和指向该记录的指针: TRecord = record value : double;end;PTRecord = ^TRecord; 现在声明一个PTRecord类型的变量: var x : PTRecord; 并创造一些空间: x := new (PTRecord); 我注
我在Delphi语言中遇到过一些我之前没有注意到的东西.考虑一个简单的记录和指向该记录的指针:
TRecord = record
     value : double;
end;
PTRecord = ^TRecord;

现在声明一个PTRecord类型的变量:

var x : PTRecord;

并创造一些空间:

x := new (PTRecord);

我注意到我可以使用’.’来访问值字段.符号和’^.’符号.因此,以下两行似乎在操作上是等效的,编译器不会抱怨并且运行时工作正常:

x.value := 4.5;
x^.value := 2.3;

我原以为’^.’是正确的,唯一的方式来获取价值?我的问题是,使用更简单的点符号是否可以,或者如果我不使用指针间接’^’,我会遇到麻烦吗?也许这是众所周知的行为,但这是我第一次遇到它.

解决方法

省略插入符号是完全合理和安全的.当然,逻辑需要插入符号,但由于表达式x.value本身没有有意义的解释,编译器会假设你实际上是指x ^ .value.此功能是所谓的“扩展语法”的一部分.你可以阅读这个 at the documentation.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读