News for hackers. Stuff that matters.
Re:What is C in practice? by michaeljsmith on Tuesday June 30, 2015 @12:45AM (#9802993)
Actually the C++ spec says that 0 as a pointer doesn't actually have to have the value 0 - it just refers to a null value the same way as nullptr.
Re:What is C in practice? by kevin_thibedeau on Tuesday June 30, 2015 @08:27AM (#9804670)
That is the point. They went through the process of tightening down the type system by invalidating automatic casts and making void* less promiscuous and then they break that whole philosophy with a magic literal "0" that can work as a normal integer or as an address placeholder for any pointer even though it won't necessarily evaluate to address zero. At that point why can't I assign "0" to a float too and enjoy some more magic there?