According to CPP Reference this is currently not okay:
"If expression represents the address A of a byte in memory but A does not satisfy the alignment requirement of T, then the resulting pointer value is unspecified."
https://en.cppreference.com/w/cpp/language/static_cast
-----Ursprüngliche Nachricht-----
Von: organicoman via Std-Proposals <std-proposals@lists.isocpp.org>No it could not, and it is not allowed. The only thing you will MAYBE get is a misaligned pointer to a double memory location, and you should not dereference that pointer, because of aliasing incompatibility otherwise UB.Try the following code:#include <stdio.h>
int main()
{
char arr[8];
double* ptr = static_cast<double*>(static_cast<void*>(arr+3));