Does a variable cast back to it's value whenever it's accessed?

The weird thing is you often come across performance questions related to “should I Cast or use a stored reference” and it is hard to even measure the difference between the two.

Meanwhile macros are used everywhere without any thought and they are the real measurable performance killers.