3 ms·
Why is it UB? Let's say head value is "10" and the memory at "10" is {..., next: "10"} After the first iteration we will have: Head: "10" Next: "10" Temp: "1
by kinkdr 10y ago
Why is it UB?
Let's say head value is "10" and the memory at "10" is {..., next: "10"}
After the first iteration we will have:
Head: "10"
Next: "10"
Temp: "10"
With "10" pointing to freed memory. But why do we care? We are not dereferencing it, are we?
(I think I am missing something very obvious)
- Arnavion 10y agoBecause the standard says even comparing a dangling pointer is UB, which was haberman's point about the standard being non-intuitive.
- kinkdr 10y agoThanks. I wasn't aware of that. I stand corrected!!
- jacquesgt 10y agoI think you’re missing the fact that "There are a lot of rules you need to be aware of that are not naturally-occurring results of the fundamentals."
- kinkdr 10y agoI was indeed. Thanks for the insight!