What this C++ memory-layout question tests
This is an easy C++ question that probes your understanding of where variables live in memory depending on how they are declared and initialized. It's a foundational concept that separates candidates who can reason about program memory from those who have only surface-level language familiarity.
To answer, you need to recognize the difference between automatic storage, static storage, heap allocation, and other memory regions in C++. The specific declaration syntax — whether a variable is declared at global scope, inside a function, or with the static keyword — determines which memory segment it occupies at runtime. This knowledge is essential for understanding object lifetimes, thread safety, and performance in systems programming.
- Stack vs. heap vs. static storage duration
- Automatic vs. static variable scope and lifetime
- Global and function-local variable placement