Use case:
class A {
static int s_common;
public:
static int getCommon () const { s_common; };
};
Typically this results in an error as:
error: static member function ‘static int A::getCommon()’ cannot have
cv-qualifier
This is because constness applies only to the object pointed by this, which is not present in a static member function.
However had it been allowed, the static member function’s “const”ness could have been easily related to the static data members.
Why is this feature is not present in C++; any logical reason behind it ?
cv-qualifiersaffect the function’s signature. So you could have:Now… how would you call the
constone? There’s noconstobject to call it on (well, you could call it on aconstobject, but that’s not the point).I’m just guessing here, there probably are other reasons. 🙂