pchar和pbyte有什么区别

ste*_*ve0 2 delphi pointer-arithmetic

为什么我不能执行此操作:

var
  data:pbyte;
  x:int64;
  o:pointer; 
begin
  o:=data+x;
end;
Run Code Online (Sandbox Code Playgroud)

dth*_*rpe 11

PChar是一个指向char的指针,但它得到了编译器的特殊支持,允许指针算法在Delphi中使C语言字符串操作更容易.PByte只是一个普通的旧类型指针,并没有得到编译器的任何特别注意,以允许指针算术.

在Delphi 2009中,引入了一个新的编译器指令($ POINTERMATH ON/OFF),它允许您将指针算法的编译器支持添加到您自己的指针类型声明中.

  • 不,史蒂夫.Delphi 7大约十年前发布,后来发布了五个版本.该版本将不再发布.除非你升级到新版本,否则你现在拥有的就是你所拥有的一切. (2认同)