我发现了 Delphi 语言中的一些东西,这是我之前没有注意到的。考虑一个简单的记录和指向该记录的指针:
TRecord = record
value : double;
end;
PTRecord = ^TRecord;
现在声明一个类型为PTRecord的变量:
var x : PTRecord;
并且创建一些空间:
x := new (PTRecord);
我注意到我可以使用'.'符号和'^.'符号来访问值字段。因此,以下两行代码似乎在操作上是等效的,编译器不会报错,运行时也没有问题:
x.value := 4.5;
x^.value := 2.3;
我本以为'^.'是正确的且唯一的访问值的方法?我的问题是,使用更简单的点符号表示法是否可以,如果不使用指针间接操作符'^.'是否会遇到麻烦?也许这是众所周知的行为,但这是我第一次遇到。