> On Aug 9, 2023, at 4:37 PM, Tomas Hajny via fpc-pascal 
> <fpc-pascal@lists.freepascal.org> wrote:
> 
> No, the offset is not a memory address but just a number of bytes (which is 
> also the reason why you cannot add the pointers together, but you can add a 
> number to a pointer. As an example, you could use this operation to find out 
> the exact alignment of fields within a record (to check whether there's some 
> padding inserted between them) - e.g. if you aren't sure what alignment 
> directive was used for compiling a unit declaring the structure, or to 
> understand the compiler behaviour for a particuler alignment directive..

OK I understand now. It's basically an implicit cast to integer. There may have 
been historical reasons for this but I don't understand why you wouldn't just 
cast explicitly. Same goes for companions operators I think. I'd say it's one 
of the more confusion parts of the syntax actually.

Regards,
Ryan Joseph

_______________________________________________
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
https://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal

Reply via email to