The only time I've used . was in a template function where it was only sometimes a static member.
4
Both are valid. The reason to prefer use the first one is to make a reader of your code to understand that the member is static and belongs to the whole class of objects rather than each particular instance.