C++ Primer says
Each local static variable is initialized before the first time execution passes through the object\'s definition. Local statics are
There real name is:
static storage duration object.
Global variables are also 'static storage duration object'. The major difference from global variables are:
Apart from that they are just like other 'static storage duration objects'.
Note: Like all 'static storage duration objects' they are destroyed in reverse order of creation.