No it does not.
That been said, constness on behalf of the attributes implies constness on behalf of the instance, so even if a member function is non const it won't be able to behave as such (ie cause state mutation)
The other way around is not true though. For example
int myClass::example() const {
member = 1;
}
is the same as
int myClass::example() const {
this->member = 1;
}
and constness of the member function means constness of this
pointer. This is slightly different from promising that the "raw bits" of the object's struct aren't going to change. For example, reference members can be modified by const
member functions
To sum up : Declaring a member function as const
becomes mandatory when it's to be used with a this
pointer that is const
. In your case, not declaring one as const
would just be futile (and break the inspector / mutator semantics .. that being less of a deal).