Essential C++的小问题
ml457 2002-03-17 03:26:13 <<Essential C++>> 4.3何谓mutable和const中讲到(P110):
虽然编译器不会为每个函数进行分析,决定它究竟是const还是non-const,但它会检查每个声明为const的member function,看看他们是否真的没有更动class object....
bool Triangular::next(int &value) const
{
if(_next<_beg_pos+_length-1)
{
//错误:更动了_next之值
value=_elems[_next++];
return true;
}
return false;
}
不明白,为什么更动了_next的值,就算更动了class object内容。
程序段中的_next可是_elems的下标呀???
请大家指教。