Casting Pointers?

John Burton via Digitalmars-d digitalmars-d at puremagic.com
Thu May 12 01:41:25 PDT 2016


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?


More information about the Digitalmars-d mailing list