Q: Why can I access an out-of-scope C++ var? A: So you rent a hotel room...
if you can always legally access the book, which will for sure be available to you in that drawer, then the hotel key you stole must be a closure.