const和非const成员函数的主要区别

时间:2013-12-28 04:01:14

标签: c++

之间有什么区别
void showDist() const { 
} 

void showDist() {
}

这里const有什么好处?

2 个答案:

答案 0 :(得分:2)

const表示你不会修改对象的任何成员变量(或者更正确*this)。请注意,thisconst this不同。 <{1}}指针和非const指针不兼容。

如果您有const个对象,则必须提供常量过载。

const

答案 1 :(得分:0)

考虑一个班级X 唯一的区别是:
在非const成员函数中,this的类型为:

X*

const成员函数中,this的类型为:

const X*

就是这样。
因此,const成员函数

    除了X的成员外,
  1. 不允许修改班级mutable的任何成员。
  2. 不允许调用类const的任何非X成员函数。