On Thursday, 12 May 2016 at 08:41:25 UTC, John Burton wrote:
I've been unable to find a clear definitive answer to this so
please point me to one if it already exists in the manual or
the forums.
Is it safe to cast pointer types?
double data;
long p = *cast(long*)&data;
(Excuse any silly syntax errors as I'm doing this on my phone).
This used to be possible in C until people recently decided it
not only was wrong, it had always been wrong :P (Ok I'm not
entirely serious there but that's what this issue feels like...)
Is this legal / valid in D and if not what is the appropriate
way to efficiently access data like this?
How would such a cast be safe?