4 ms·
> nullptr: fixes problems with eg, va_arg nullptr is an overkill solution. The ambiguity could have been solved by mandating that NULL be defined as (void*)0 r
by hgs3 3y ago
> nullptr: fixes problems with eg, va_arg
nullptr is an overkill solution. The ambiguity could have been solved by mandating that NULL be defined as (void*)0 rather than giving implementations the choice of (void*)0 or 0.
- zajio1am 3y agoAre there any mainstream implementation where NULL is not typed as (void *)? That seems like a choice that would cause so many problems (type warnings, va_arg issues), i wonder why would anyone do that.
- peterfirefly 3y agoVintage code or code written by vintage coders. Code written by C++ programmers. Code written to be both C and C++.
- ori_b 3y agoNo.
- peterfirefly 3y agoThat would have been my preference as well. Either force it to be (void*)0 or, maybe, allow it to be 0 iff it has the same size and parameter passing method.
- cremno 3y agodmr would've approved of going a step further - only nullptr, no 0 and (void*)0: >Although it would have been a bit of a pain to adapt, >an '89 or '99 standard in which the only source representation >of the null pointer was NULL or nil or some other built-in token >would have had my approval. https://groups.google.com/g/comp.std.c/c/fh4xKnWOQuo/m/IAaOe1elOx4J https://groups.google.com/g/comp.std.c/c/fh4xKnWOQuo/m/IAaOe...