Earlier quoted context omitted.
It does if you have something at 0x0. Or, to put it another way, I have no clue to what you're referring--what do references have to do with "The Billion Dollar Mistake"[0]? [0]: https://en.wikipedia.org/wiki/Tony_Hoare#Apologies_and_retra... EDIT: my apologies, that joke was actually pretty good.
What modern systems even map memory to 0x0? Doing so breaks the C standard, among other things.
> On system reset, the vector table is fixed at address 0x00000000.
Also, I'm not an expert on the C standard, but in my understanding, it doesn't "break" it. That is:
* Address 0 and the null pointer are distinct
* A 0 literal treated as a pointer is guaranteed to be the null pointer
* The null pointer is not guaranteed to be represented by all zero bits
* If you get a pointer to address zero via pointer math or by other means than a 0 literal, you can still access address zero.