int Cls::func() const;中const的意义:
1. 不能对成员进行赋值。即类中此成员函数,你不希望它能修改此类任何一个成员变量,则可以如此使用。
2. 不能调用成员的非const成员函数。
3. 将类数据成员传递给外部函数时,将为该数据成员加上const属性。
PS:
const int Cls::func();
如果这种形式:一般习惯写成:int const Cls::func(); 只是表示返回为一个常量int; 不过,这里返回值
pass-by-value ,所以添加const也没有什么意义,因为此返回值是一个const的副本,而const值赋值
给non-const值也是没问题(反过来则有问题),在此不层层展开分析,一般要看实际场景才好展开分
析。上面正确使用应该如下:int const & Cls::func();