On 3/6/25 6:34 AM, Paul Backus wrote:

> are allowed to refer to the same memory location. However, there are
> still cases where *dereferencing* those pointers can lead to undefined
> behavior.

This topic came up among colleagues recently. I think such restrictions come from CPU architectures where, as I remember reading on C++ forums years ago, the mere act of loading a misaligned pointer value into a pointer register would cause an error (trap?).

I cast any odd pointer value to any sized integer (and in one case to a struct pointer) from a void* buffer area and it works on the Intel CPU that I am working on.

Will this work on all or most modern CPUs?

Ali

Reply via email to