A static member s of class X may be referred to
using the qualified-id expression X::s; it is not
necessary to use the class member access syntax ([expr.ref]) to
refer to a static member.
A static member may be
referred to using the class member access syntax, in which case the
object expression is evaluated.
[Example 1: struct process {staticvoid reschedule();
};
process& g();
void f(){
process::reschedule(); // OK, no object necessary
g().reschedule(); // g() is called} — end example]
Static members obey the usual class member access rules ([class.access]).
When used in the declaration of a class
member, the static specifier shall only be used in the member
declarations that appear within the member-specification of
the class definition.