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