Life's full of surprises and so is C++. I was reading "C - The Complete Reference" today and learnt of the fact that the initialization of a static variable within a function is executed only once for the entire program !! It was logically true no doubt, but was it was surprising to know that I did not know it even after being in C and C++ for 5+ yrs !! Well you can never say you have learnt a language completely.