Question: I have a C++ class which contains only static data members.
I noticed the compiler is OK if I define the access methods as const, as static, or as "regular" - so all seem to work.

My question is what is the correct/better practice in this case?

Thanks!

Answer: 
> 
> I have a C++ class which contains only static data members. 
> 
> 
> 

Then that probably shouldn't be a class, but either free functions in a namespace or a singleton.
If all methods are static then there is no point in creating an instance of the class. So I suggest to make all methods static so that you can use those methods without creating the object of the class. Basically, you will be able to call the methods using the namespace syntax.