负数组索引
本文关键字:索引 数组 | 更新日期: 2023-09-27 18:19:11
我有一段像这样的c#代码
digitsResPtr[-1] = digitsPtr[0] << rightShiftRev;
其中digitsResPtr
和digitsPtr
为指向UInt32数组的指针,rightShiftRev
为整数
我想知道这个Delphi表示是否正确?
(digitsResPtr - 1)^ := digitsPtr[0] shl rightShiftRev;
我的主要问题是负索引。
谢谢。1.
我认为用指针算术来做这个是最干净的。例如
{$POINTERMATH ON}
....
(digitsResPtr - 1)^ := digitsPtr[0] shl rightShiftRev;
或
{$POINTERMATH ON}
....
digitsResPtr[-1] := digitsPtr[0] shl rightShiftRev;
我假设digitsResPtr
具有类型^UInt32
并指向数组中间的某个地方。换句话说,必须以某种方式分配数组然后像这样初始化digitsResPtr
:
digitsResPtr := @digitsRes[5];