What this C++ code-reading question tests
This is a hard C++ question that requires you to trace execution through subtle language semantics. It probes whether you understand how the compiler resolves scope, visibility, and name lookup in the presence of nested declarations — and what happens when code compiles but behaves in an unexpected way.
Candidates who excel at these questions develop a mental model of how the preprocessor and compiler process each statement in order, rather than relying on intuition alone. Getting the answer right demands careful attention to which names are in scope at each point, how shadowing works, and whether the code even compiles at all.
- Variable shadowing and scope resolution
- Name lookup rules and the order of declaration
- Undefined behavior vs. well-defined but surprising output