Understanding C++ object lifetime and deletion in this code-validity question
This C++ question tests whether you can correctly reason about object lifetime, pointer validity, and memory semantics after a deletion operation. It's the kind of language-knowledge probe that appears in technical screening rounds, especially at firms where incorrect memory reasoning leads to real bugs.
To answer accurately, you'll need to trace through what happens to a pointer or reference after an explicit delete call—whether the resulting operation is well-defined, undefined, or explicitly forbidden by the language standard. The question rewards careful reading of the code flow and confidence in C++ semantics.
- Dangling pointers and use-after-free
- Lifetime of dynamically allocated objects
- Undefined behaviour vs. defined but unsafe code