Wednesday, April 11, 2012

Why there is no concept of "const-correctness" for class's static member functions?

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 this feature is not present in C++; any logical reason behind it ?





No comments:

Post a Comment