2 ms·
Only if the assert is active. It basically means that the code is invalid when NDEBUG is set.
by saagarjha 7mo ago
Only if the assert is active. It basically means that the code is invalid when NDEBUG is set.
- quuxplusone 7mo agoWhen NDEBUG is set, there is no test, no assertion, at all. So yes, this code has UB if you set NDEBUG and then pass it a null pointer — but that's obvious. The code does exactly what it looks like it does; there's no tricks or time travel hiding here.