我在Delphi语言中遇到过一些我之前没有注意到的东西.考虑一个简单的记录和指向该记录的指针:
TRecord = record
value : double;
end;
PTRecord = ^TRecord;
Run Code Online (Sandbox Code Playgroud)
现在声明一个PTRecord类型的变量:
var x : PTRecord;
Run Code Online (Sandbox Code Playgroud)
并创造一些空间:
x := new (PTRecord);
Run Code Online (Sandbox Code Playgroud)
我注意到我可以使用'.'来访问值字段.符号和'^.' 符号.因此,以下两行似乎在操作上是等效的,编译器不会抱怨并且运行时工作正常:
x.value := 4.5;
x^.value := 2.3;
Run Code Online (Sandbox Code Playgroud)
我原以为'^.' 是正确的,唯一的方式来获取价值?我的问题是,使用更简单的点符号是否可以,或者如果我不使用指针间接'^',我会遇到麻烦吗?也许这是众所周知的行为,但这是我第一次遇到它.
| 归档时间: |
|
| 查看次数: |
270 次 |
| 最近记录: |