代表在此函数中,不能改变成员变量的值。由于改动某些重要的变量(尤其是指针)容易导致系统或程序崩溃。出于安全考虑,有的函数应该被设置为const,如LZ的例子
简单的说
代表这个成员函数是只读的,不能对这个函数的成员变量进行修改否则编译不通过...
const 是 静态函数成员
在该函数内,不能改变类的成员变量。
网上的一个例子:
以下程序中,类stack的成员函数GetCount仅用于计数,从逻辑上讲GetCount应当为const函数。编译器将指出GetCount函数中的错误。
class Stack
{
public:
void Push(int elem);
int Pop(void);
int GetCount(void) const; // const成员函数
private:
int m_num;
int m_data[100];
};
int Stack::GetCount(void) const
{
++ m_num; // 编译错误,企图修改数据成员m_num
Pop(); // 编译错误,企图调用非const函数
return m_num;
}