类中的const函数是不可以修改类成员值的。我理解的const函数所携带的this是const类型的。最近发现一个问题比价迷茫。
class CLASS_T
{
public:
char *GetP()const{return p}
private:
char *p;
};
这样做编译的时候也可以通过,没有发现问题。
但是既然const函数的this是const类型的,或者说对const类型函数来说,至少类的成员是const类型的。那么p应该是const类型的指针,const char*赋值到char*应该是不行的啊。为什么编译可以通过,而没有错误!