Sometimes you'd like to watch the value of an object (on the heap) even after the symbol goes of scope.
When that happens, the variable in the Watch window is disabled and cannot be inspected any more (nor updated) even if the object is still alive and well.
It is possible to continue to watch it in full capability if you know the address of the object.
You can then cast the address to a pointer of the object type and put that in the Watch window.
In the example bellow, _foo is no longer accessible in the Watch window after stepping out of do_foo().
However, taking its address and casting it to foo* we can still watch the object.